たとえば、次のような for ループを実行している場合:
文字列がすでに char 配列になっていると仮定します
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;
}
ただし、一般的に文字に対して算術演算を実行することはお勧めできません。この方法では、印刷できない文字に簡単になってしまう可能性があることに注意してください。何を達成しようとしていますか?