我是java新手。所以我正在练习一些问题。但我偶然发现了这个。我知道我非常接近正确的答案,我正在考虑设置一个其他条件,如果它小于0.it会打破. 尝试在这里和那里插入它,但它无法正常工作。
编写一个名为 printAverage 的方法,该方法接受控制台的 Scanner 作为参数,并反复提示用户输入数字。一旦键入任何小于零的数字,就会显示所有键入的非负数的平均值。将平均值显示为双精度数,不要四舍五入。例如,对您的方法的调用可能如下所示:
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