我是新来的java.And,所以我正在练习一些问题。但我绊倒了这一点。我知道我非常接近正确的答案,我想把其他条件,如果它少它会打破。 尝试插入这里和那里,但它不能工作。打印平均数
编写一个名为printAverage的方法,该方法接受控制台的扫描仪作为参数并重复提示用户输入数字。一旦输入小于零的任何数字,将显示输入的所有非负数的平均值。以平均值显示平均值,并且不要四舍五入。例如,你的方法的调用可能是这样的:
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);
}
Sorry.The问题不是clear.For例如,当我在0 0 1 1类型 - 2作为numbers.I我应该得到
类型的数:0 类型的数:0 类型的数:1种 类型的数:1种 类型的数:-2 平均为0.5
但我正在逐渐
类型的数:0 类型的数:0 类型的数:1种 类型的数:1种 类型的数:-2 平均为1.0
问题是什么? – NPE 2013-04-06 16:04:58
尝试输入负数。但它只是不会停下来,并断开循环 – user2179615 2013-04-06 16:06:30