OK、これは私が取り組んでいる行です:
newstring.charAt(w) += p;
int 'w' で定義された文字列内の特定の位置で文字列 'newstring' に文字/文字 (p) を追加しようとしています。これは可能ですか?
文字列は Java では不変であるため、答えはノーです。しかし、それを回避する方法はたくさんあります。最も簡単な方法は、 を作成して メソッドStringBuilder
を使用するsetCharAt()
ことです。またはinsert()
、特定の位置に新しい文字を挿入したい場合。
文字列に複数の変更を加えた場合、StringBuilder
.
Strings
Javaでは不変であるため、文字列を変更することはできません。文字列を変更しようとすると、結果として新しい文字列オブジェクトが得られます。
これで、元の文字列の一部の部分文字列によって生成されたものString#substring
を取得できるメソッドを使用できます。new string
concatenation
str = str.substring(0, w) + "p" + str.substring(w);
ただし、もちろん、StringBuilder
@biziclop の回答で指定されているとおりに使用することが、従うことができる最良のアプローチです。