いつもお世話になっております。
今日はreplaceを使わない文字列置換えについて考えております。
Eclipseを用い、
args[0]の文字列の中から
args[1]の文字列を探し出し
args[2]の文字列で置き換える
というプログラムを作っております。
indexOfを使って0以上の間ループを回し、
文字列が見つからなくなったら-1を返してループを抜ける、
という流れにしたいのですが、
引数に
あいうえお い お
と入れて、これを実行すると、
1
あおうえお
0
おおうえお
0
おおうえお
永遠と0を吐いて抜けられない様です。
突破口を教えて頂けませんでしょうか。
lang
1public class OverWrite { 2 3 public static void main(String[] args) { 4 // carStr 最初の文字列・target置換えられる文字列・over置換える文字列 5 String charStr = args[0]; 6 String target = args[1]; 7 String over = args[2]; 8 9 int judge = charStr.indexOf(target); 10 11 while (judge >= 0) { 12 // judgeの値の確認の為に入れてます。 13 System.out.println(judge); 14 15 // charStrを上書き 16 charStr = charStr.substring(0, judge) 17 + over 18 + charStr.substring(judge+ over.length()); 19 20 // 上書き後のcharStrを表示 21 System.out.println(charStr); 22 23 // judgeを更新。ここで-1にしたい。 24 judge = charStr.indexOf(charStr); 25 26 } 27 } 28}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/05/07 04:40