1
for(Item i : itemArray){
System.out.format("%1s%50s%50s", "name = " + i.getName(), "color = " + i.getColor(), "quantity = " + i.getQuantity());
System.out.println();

アイテム配列を反復処理して、各アイテムをフォーマットされたテーブルに出力しようとしています。各アイテムには、名前、色、数量、および価格がありました。

これが現在の方法です。

Name: bike       Color: black       Quantity: 1      Price: 6.00
Name: ladder       Color: blue       Quantity: 150      Price: 9.00
Name: dolphin       Color: orange       Quantity: 15      Price: 100000.00
Name: key       Color: red       Quantity: 12      Price: 510.00

必要なものは次のとおりです。

Name: bike       Color: black      Quantity: 1       Price: 6.00
Name: ladder     Color: blue       Quantity: 150     Price: 9.00
Name: dolphin    Color: orange     Quantity: 15      Price: 100000.00
Name: key        Color: red        Quantity: 12      Price: 510.00

私はフォーマットAPIを読みましたが、まだ理解できません!!! 助けてください。

4

2 に答える 2

4

フォーマット文字列は%1s、Name: パラメータに複数の文字幅 ( ) を指定する必要があります。

System.out.format("%15s%50s%50s", "name = " + i.getName(), "color = " + i.getColor(), "quantity = " + i.getQuantity());

より読みやすいのは、フォーマット文字列に変数のみを挿入することです。

System.out.format("Name: %-10s  Color: %-10s Quantity: %-10s Price: %s", ...)
于 2012-12-13T00:05:28.710 に答える
0

としてみてください

        String fmt = "Name: %-10s Color: %-10s Quantity: %d%n";
        System.out.printf(fmt, "bike", "black", 1);
        System.out.printf(fmt, "ladder", "blue", 1);

出力

Name: bike       Color: black      Quantity: 1
Name: ladder     Color: blue       Quantity: 1
于 2012-12-13T00:41:50.423 に答える