以下Java代码段应该以双精度打印用户输入的一系列非负整数的平均值。负输入表示序列的结束(它本身不是序列的一部分)。但是,代码不起作用。我应该在这个段内找到4个逻辑错误。请帮我找4个逻辑错误??我知道一个是它的整数除法。
public class practice
{
public static void main (String[]args)
{
int sum = 0;
int numVals = 0;
Scanner scan = new Scanner(System.in);
System.out.println(("enter next integer (-ve to stop): "));
int i = scan.nextInt();
while (i > 0)
{
sum = sum + i;
numVals = numVals + 1;
}
System.out.println("average = " + sum / numVals);
}
}
答案 0 :(得分:1)
我不会给你完整的解决方案,但是,如果你注意:
会很有帮助int
师,i
吗?提示:不,不是错误,但要注意Java命名约定,类名应以大写字母开头
答案 1 :(得分:1)
由于作业是出于逻辑错误,我可以指出其他错误。
sum
应该是长而不是int以避免溢出。