0

インクリメント中に特定の部分文字列を文字に置き換えようとしています。例えば、

Input:  Hello World
Output: He...o Wor...d

文字が見つかるたびに、出力される文字数が増加します。また、配列や配列リストなしでこれを行うことになっています。

この問題に取り組む方法に行き詰まっています。部分文字列が見つかった回数をカウントするために変数が必要になることはわかっていますが、それを置き換えるにはどうすればよいかわかりません。

また、コードを渡されたくないので、自分でやりたいです。

編集: 部分文字列は必ずしも 1 文字である必要はなく、複数の文字にすることができます。すなわち。「彼」「イロ」など

4

3 に答える 3

1

StringBuffer を見てください。これを使用して、特定のインデックスに CharAt を設定し、特定のインデックスに String を挿入できます。その後、ネストされたループでこれを行うことができます。外側のループ while ループは、置換する必要がある文字列を検索します。使用内側の e ループは、複数の '.' をwhile (buffer.indexOf (target) >=0) 挿入します。counter

于 2013-02-14T00:12:28.323 に答える
0

変数を使用して、部分文字列が発生する回数を数えます(あなたが言ったように)。その変数をループのカウンターとして使用して、印刷する置換文字数を決定します。

count = numberOfSubString()

for 0 to count
  replaceChar() 
于 2013-02-14T00:08:40.397 に答える
0

のようなものを使用できますStringBuilderか? 入力文字列の各文字を反復処理できます。置換する必要がない場合はappendStringBuilder. 置き換える必要がある場合はappend、特殊文字を何回でも置き換える必要があります (あなたが言及したカウンターに基づいて)。次に、最後に(を使用して)StringBuilderを aに変換し、それを返します。String.toString

于 2013-02-14T00:11:26.193 に答える