0

たとえば、次のような for ループを実行している場合:

文字列がすでに char 配列になっていると仮定します

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 に答える