1

プログラムには、名前、年齢、身長などのタイトルが必要です。その下に、ユーザーは名前、年齢、身長を入力しますが、それらは目に見えない列にあるかのように、インラインのままにする必要があります。例えば。

Name------------------Age-----Height

Gus Smith------------22-------5"11

Hank Mathewson---42--------6"1

Frank Dimitrianus---54-------5"6

ただし、ダッシュの代わりに空のスペース。

他はすべて完了しました。エントリが一定量のスペースを自動的に占有するようにするには、ある種のコマンドが必要なだけです。ガス スミスは 20 文字のスペースを必要とし、フランク ディミトリアヌスは 20 文字のスペースを占める必要があります。

ありがとう

4

3 に答える 3

3

http://www.homeandlearn.co.uk/java/java_formatted_strings.htmlを参照してください。

頭の中で考えられるよりも(ずっと)多くの例があります。

于 2013-08-24T07:18:07.807 に答える
3

String.formatフィールドを埋めるために使用できます。

String formattedString = String.format("%-20s %-5s %-7s", name, age, height)

すべてのフィールドが文字列であると仮定します。-20は列の最小サイズであるため、名前が 20 文字を超える場合は、長すぎるフィールドを切り捨てるか、最も長いフィールドに基づいて名前パディングのサイズを変更する必要がある場合があります。したがって、最長の文字列に基づいてフォーマットを構築することができます。

String formatForSize(int maxLength) {
  return "%-" + maxLength + "%-5s %-7s";
}

そして、いくつかの出力ループがあります:

String format = formatForSize(maxNameSize); //invarient
for (Person person : people ) {
  String personString = String.format(format, person.getName(), person.getAge(), person.getHeight);
  ...
}

最大名のサイズは入力メソッドから取得できますが、テーブルの値は読み込まれます。

于 2013-08-24T07:22:31.273 に答える