例如,如果我正在执行如下的 for 循环:
假设字符串已经被制作成一个字符数组
for(i=0;i<somestring.length;i++)
somestring[i] = somestring[i] + i;
为什么以前的工作不起作用?
结果char + int
是int
- 所以你需要转换为char
:
char[] charArray = text.toCharArray();
for (int i = 0; i < charArray.length; i++) {
charArray[i] = (char) (charArray[i] + i);
}
或者使用使用时可用的隐式转换+=
:
char[] charArray = text.toCharArray();
for (int i = 0; i < charArray.length; i++) {
charArray[i] += i;
}
但是,通常对字符执行算术是一个坏主意。请记住,您可以通过这种方式轻松获得无法打印的字符。你想达到什么目的?