私はコーディングとJavaで非常に新しいです。私は次のような割り当てをしています。入力から正の数を読み込み、平均を計算し、小数点以下3桁の精度で出力するプログラムを作成します。入力リストは数字-1で終了します。固定番号-1の変数を含むリストを閉じる
私は作業プログラムを持っていますが、「平均を3小数点以下の精度で印刷する」という条件をどのように統合するかという手がかりはありません。これを修正する方法はありますか?どうもありがとう!
以下の私のコードを参照してください:
インポートjava.util.Scannerを。
パブリッククラスParta {
public static void main(String[] args){
Scanner numInput = new Scanner(System.in);
double avg = 0.0;
double count = 0.0;
double sum = 0.0;
System.out.println("Enter a series of numbers. Enter -1 to quit.");
while (numInput.hasNextDouble())
{
double negNum = numInput.nextDouble();
if (negNum == -1)
{
System.out.println("You entered " + count + " numbers averaging " + avg + ".");
break;
}
else
{
sum += negNum;
count++;
avg = sum/count;
}
}
}
}
'int'データ型はいずれも格納することはできません精度。そのために 'double'を使うことができます。ループはほぼ正しいですが、 'numbers.length + 1 = -1'は' -1'に変換されます。単一の '= 'は代入を表し、' == 'は等価チェックです。あなたのループを以下のように変更します:for(int i = 0; i
nbokmans
ifステートメントを追加して、n == -1かどうかを確認し、forループがあれば破棄します。 – Dis3buted
またはループをdo/while while条件に翻訳するn!= -1 – Dis3buted