0

多くの単語を含む文字列があります。
単語は位置に基づいて表示する必要があります。

例、

   String str = "Australia Canberra Adellide ";

上記の文字列は、

オーストラリアは 0 で始まり、20 で終わる必要があります

キャンベラは 20 時に開始し、30 時に終了する必要があります

Adellide は 30 で開始し、50 で終了する必要があります

これはjtextareaに表示されます

Javaで利用できるフォーマッタはありますか? またはパディングを使用する必要がありますか?

4

3 に答える 3

1

例を理解するのは難しいです。キャンベラと「アデライド」は同じ長さなので、キャンベラは10文字しか取得できませんが、アデライドは20文字を取得するのはなぜですか。

とにかく、フォーマッターを使用できますか?必要に応じて、リストを含む入力文字列を分割できます。

于 2012-09-06T23:43:28.890 に答える
1

このような?

String str = String.format("%20s%10s%20s", "Australia", "Canberra", "Adellide");

または、左揃えが必要な場合:

String str = String.format("%-20s%-10s%-20s", "Australia", "Canberra", "Adellide");
于 2012-09-06T23:55:35.003 に答える
1

フォーマット指定子をString.format()使用して文字列をパディングできます。%-ns

String s = String.format("%-20s%-10s%-20s","Hello","to","you.");
// "Hello               to        you.                "

個々の文字の間に文字を散在させたい場合は、おそらく単純な正規表現 (つまり、) を使用するのが最善の方法s.replaceAll(".", "$0 ")です。

于 2012-09-06T23:55:49.873 に答える