簡體   English   中英

如何在Java中使用System.out.format()在一行上顯示多個項目?

[英]How can I use System.out.format() to display multiple items on one line in Java?

import java.text.*;
public class program17
{
public static void main(String[] args)
{
    NumberFormat money=NumberFormat.getCurrencyInstance();
    int[] num={2013,2015,2017,2019,2021};
    double[] price={19.85,15.39,16.59,12.35,15.15};
    int[] qty={43,12,34,17,10};
    double[] value={0,0,0,0,0};
    System.out.println("Part  \tItem \tItem    \tTotal");
    System.out.println("Number\tPrice\tQuantity\tValue\n");
    for(int i=0;i<5;i++)
    {
        value[i]=val(price[i],qty[i]);
        //System.out.println(num[i]+"\t"+money.format(price[i])+"\t"+qty[i]+"\t"+money.format(value[i]));
        System.out.format("%4d\t $%5d.2f\t %2d\t %6.2f", num[i], price[i], qty[i], value[i]);
    }
}
public static double val(double p, int q)
{
    double x=p*q;
    return x;
}
}

這是我的代碼的100%。 這是我的解決方案的輸出: 捕獲的輸出http://maradastudios.ucoz.com/school/Capture2.png

如您所知,我可以使用System.out.println()語句簡單地顯示該程序的“數據行”,但是,我已經需要這種特定類型的System.out.format()的情況,因此我決定最好是實際了解此錯誤的含義。 我想這可能是因為我嘗試顯示的可變價格[i]是雙精度值,而不是整數,例如num [i]。 我之所以得出這個結論,是因為起初我與

System.out.format("%4d\t", num[i);

在工作正常之后,我用

System.out.format("%4d\t $%5d.2f\t", num[i], price[i);

然后出現錯誤。 這是我嘗試運行的完整代碼。 誰能告訴我System.out.format()語句出了什么問題,並在我糾正它時為我提供幫助?

您在格式字符串中有一個d 刪除它,一切都會好起來的。

System.out.format("%4d\t $%5d.2f\t %2d\t %6.2f", num[i], price[i], qty[i], value[i]);
                            ^

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM