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() が必要でした。このエラーの意味を実際に学ぶことが最善であると判断しました。表示しようとしている変数 price[i] が、num[i] のように int ではなく double であるためだと思います。最初に実行したので、この結論に達しました
System.out.format("%4d\t", num[i);
それがうまくいった後、私はそれを実行しました
System.out.format("%4d\t $%5d.2f\t", num[i], price[i);
その後、エラーが発生しました。これは、実行しようとしている完全なコードです。私の System.out.format() ステートメントの問題を誰か教えてくれませんか?