如何在 Java 中增加字符串的字符类型?
How do i Increment Char Type for a String in Java?
这适用于单个字符,但我想用字符串来实现,我不知道该怎么做。
class test
{
public static void main(String arg[])
{
char c = 'A';
c = c + 1;
System.out.println(c);
}
}
假设字符串是 "Hello World"
所以 +1 增量将 return "Ifmmp xpsme"
您必须将字符串拆分为字符数组 然后 向每个字符添加 1:
public String sumToCharsAtString(String word) {
StringBuffer b = new StringBuffer();
char[] chars = word.toCharArray();
for (char c : chars) {
if(c != ' ')
c = (char) (c + 1);
b.append(c);
}
return b.toString();
}
你真的不需要使用StringBuffer,但是为了节省内存,真是个好习惯。
听起来好像您只想递增字母字符。如果是这样,这应该作为一个通用解决方案(假设一个非空字符串):
public String incrementChars(String s) {
StringBuilder result = new StringBuilder(s.length());
for (char c : s.toCharArray()) {
if (Character.isAlphabetic(c)) {
result.append((char) (c + 1));
} else {
result.append(c);
}
}
return result.toString();
}
请注意,如果性能特别重要,您最好使用避免调用 toCharArray 的旧式 for 循环。但这不太可能重要。
这适用于单个字符,但我想用字符串来实现,我不知道该怎么做。
class test
{
public static void main(String arg[])
{
char c = 'A';
c = c + 1;
System.out.println(c);
}
}
假设字符串是 "Hello World"
所以 +1 增量将 return "Ifmmp xpsme"
您必须将字符串拆分为字符数组 然后 向每个字符添加 1:
public String sumToCharsAtString(String word) {
StringBuffer b = new StringBuffer();
char[] chars = word.toCharArray();
for (char c : chars) {
if(c != ' ')
c = (char) (c + 1);
b.append(c);
}
return b.toString();
}
你真的不需要使用StringBuffer,但是为了节省内存,真是个好习惯。
听起来好像您只想递增字母字符。如果是这样,这应该作为一个通用解决方案(假设一个非空字符串):
public String incrementChars(String s) {
StringBuilder result = new StringBuilder(s.length());
for (char c : s.toCharArray()) {
if (Character.isAlphabetic(c)) {
result.append((char) (c + 1));
} else {
result.append(c);
}
}
return result.toString();
}
请注意,如果性能特别重要,您最好使用避免调用 toCharArray 的旧式 for 循环。但这不太可能重要。