私はJavaが初めてなので、いくつかの質問を練習しています.しかし、私はこれにつまずきました.私は正しい答えに非常に近いことを知っており、0未満の場合は壊れるelse条件を設定することを考えています. . これをあちこちに挿入しようとしましたが、うまくいきません。
コンソール用の Scanner をパラメーターとして受け取り、ユーザーに数字の入力を繰り返し求める printAverage という名前のメソッドを記述します。ゼロ未満の数値を入力すると、入力されたすべての負でない数値の平均が表示されます。平均を double として表示し、丸めません。たとえば、メソッドの呼び出しは次のようになります。
Scanner console = new Scanner(System.in);
printAverage(console);
The following is one example log of execution for your method:
Type a number: 7
Type a number: 4
Type a number: 16
Type a number: -4
Average was 9.0
If the first number typed is negative, do not print an average.
私の試み:
public static void printAverage(Scanner console){
int num=0;
double sum=0;
double avg=0;
int counter=0;
while(num>=0){
System.out.print("Type a number: ");
num=console.nextInt();
if(num>0){
sum+=num;
counter++;
avg=sum/counter;
}
}
System.out.println("Average was " + avg);
}
すみません。質問がわかりにくかったです。たとえば、数字として 0 0 1 1 -2 を入力すると、
数値を入力してください: 0 数値を入力してください: 0 数値を入力してください: 1 数値を入力してください: 1 数値を入力してください: -2 平均は 0.5 でした
しかし、私は得ています
数値を入力してください: 0 数値を入力してください: 0 数値を入力してください: 1 数値を入力してください: 1 数値を入力してください: -2 平均は 1.0 でした