2 回答
TA贡献1828条经验 获得超6个赞
只需使用if语句检查该字符是否为小写字母,然后将其提升为下一个字母。该Character类型已经有一个Character.isLowerCase()检查字符是否为小写字母的字符。
您还可以进行范围检查,例如if ('a' <= character && character <= 'z')检查字母是否为小写。
当您确定字母为小写字母时,将其提升为下一个字母(还请检查字符是否通过'z',然后将其回滚到'a')并将其附加到结果中。如果不是小写字母,则只需将其附加到结果中即可。
public class MyClass {
public static void main(String args[]) {
System.out.println(nextLetter("abcz1a$bABlove"));
}
private static String nextLetter(String data) {
String result = "";
for (int i = 0; i < data.length(); i++) {
char character = data.charAt(i);
if (Character.isLowerCase(character)) {
character++;
// Account for rollover on 'z'
if (character == '{') {
character = 'a';
}
}
result += character;
}
return result;
}
}
结果
bcda1b$cABmpwf
TA贡献1829条经验 获得超7个赞
您可以使用if条件来检查字母是否为小写。另外,我使用Java 8 lambda函数来遍历字符串中的字符。
public static String nextLetter(String s) {
StringBuilder sb = new StringBuilder();
s.chars().forEach(c -> {
if (Character.isLowerCase(c)) {
sb.append((char) (((c - 'a' + 1) % 26) + 'a'));
} else {
sb.append((char)c);
}
});
return sb.toString();
}
添加回答
举报