Java和递增字符串
我有 并希望在Java中增加它。因此,我希望有一个类似于下面的循环:Java和递增字符串,java,string,increment,Java,String,Increment,我有 并希望在Java中增加它。因此,我希望有一个类似于下面的循环: String sth = "abc"; 等 在Java中有这样做的方法吗?您不能将++运算符应用于字符串,但您可以自己实现此逻辑。我会从字符串的末尾开始逐个处理每个字符,直到找到一个可以简单递增的字符: abc abd abe abf ... aby abz aca acb 不使用++运算符。是的,有。到目前为止你试过什么?(编辑:这不是对++运算符的响应。虽然我认为您可能会有点过载。)nicomp我知道它不适用于++,这
String sth = "abc";
等
在Java中有这样做的方法吗?您不能将
++
运算符应用于字符串,但您可以自己实现此逻辑。我会从字符串的末尾开始逐个处理每个字符,直到找到一个可以简单递增的字符:
abc
abd
abe
abf
...
aby
abz
aca
acb
不使用++运算符。是的,有。到目前为止你试过什么?(编辑:这不是对++运算符的响应。虽然我认为您可能会有点过载。)nicomp我知道它不适用于++,这就是为什么我编写了“类似于下面的循环”Akaino尝试了上面提到的循环和sth+1,但当然它不会给出abc1:)其他任何东西。
abc
abd
abe
abf
...
aby
abz
aca
acb
public static String increment(String s) {
StringBuilder sb = new StringBuilder(s);
boolean done = false;
for (int i = sb.length() - 1; !done && i >= 0; --i) {
char c = sb.charAt(i);
if (c == 'z') {
c = 'a';
} else {
c++;
done = true;
}
sb.setCharAt(i, c);
}
if (!done) {
sb.insert(0, 'a');
}
return sb.toString();
}