我正在编写一个程序,该程序读取用户输入的正整数序列。用户一次只能输入一个整数,然后将计算这些整数的平均值。当用户输入0时,程序将结束。(平均值中不计0)。程序结束时,将打印出平均值。
问题:进入while循环时,我的代码停止工作,因此它不计算用户输入,因此不输出任何内容。为什么我的while循环不从用户输入中计算平均值? 感谢您的指导:)
import java.util.Scanner; public class AverageOfIntegers { public static void main(String[] args) { int integer; double sum; sum = 0; double average; Scanner input = new Scanner(System.in); int count; count = 0; average = 0; System.out.println("Please enter an integer: "); integer = input.nextInt(); while (integer != 0) { count = count + 1; sum = sum + integer; average = sum / count; } System.out.println("Average = " + average); } }
这是因为您实际上从未求和超过一个整数。用户只输入一个数字。结果,您的循环实际上只作用于一个数字。您需要将输入放入while循环内,并保存一个连续的总和并在那里进行计数。像这样
while (integer != 0) { count += 1; sum += integer; average = sum / count; integer = input.nextInt(); }