0

例如,如果我正在执行如下的 for 循环:

假设字符串已经被制作成一个字符数组

for(i=0;i<somestring.length;i++)

 somestring[i] = somestring[i] + i;

为什么以前的工作不起作用?

4

1 回答 1

2

结果char + intint- 所以你需要转换为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;
}

但是,通常对字符执行算术是一个坏主意。请记住,您可以通过这种方式轻松获得无法打印的字符。你想达到什么目的?

于 2012-09-29T17:24:32.393 回答