java-can';正确循环时,不要断开do
我需要创建一个程序,要求用户输入数字,直到用户插入一个零,然后打印插入数字的平均值。但我只能得到第一次输入的平均值,不能得到后一次输入的平均值java-can';正确循环时,不要断开do,java,loops,Java,Loops,我需要创建一个程序,要求用户输入数字,直到用户插入一个零,然后打印插入数字的平均值。但我只能得到第一次输入的平均值,不能得到后一次输入的平均值 public static void main(String[] args) { double a = 0; int b = 0; Scanner input = new Scanner(System.in); do { b++; System.out.println("i
public static void main(String[] args) {
double a = 0;
int b = 0;
Scanner input = new Scanner(System.in);
do {
b++;
System.out.println("insert a number");
a += input.nextDouble();
}
while (a > 0 );{
}
System.out.println("the average is " + a / b );
}
}检查时,
中没有输入。您需要调用另一个变量,即userInput
:
userInput = input.nextDouble();
a += userInput;
}
while(userInput > 0)
....
您正在将输入中的值直接添加到:
因此,如果您直接向a添加值,则无法判断用户何时键入0,并且只有当a降至0以下时,循环才会终止。例如,当用户输入为2,3,-5时,为什么要在while语句后加括号?如果您为变量指定有意义的名称,而不是a
和b
,您将更容易找到错误。在第一次(正)输入后,a将永远不小于1,因为新的输入只是被添加到其中。首先要很好地格式化您的代码,并删除未使用的混乱,如while
后面的额外大括号。您可能想定义另一个变量来存储最后输入的双精度,而不是检查累计双精度(a)。
a+=input.nextDouble();