小编典典

为什么我的“ While Loop”不打印求出平均“得分”的计算结果?

java

我正在编写一个程序,该程序读取用户输入的正整数序列。用户一次只能输入一个整数,然后将计算这些整数的平均值。当用户输入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);

    }

}

阅读 267

收藏
2020-11-30

共1个答案

小编典典

这是因为您实际上从未求和超过一个整数。用户只输入一个数字。结果,您的循环实际上只作用于一个数字。您需要将输入放入while循环内,并保存一个连续的总和并在那里进行计数。像这样

while (integer != 0) {
    count += 1;

        sum += integer;

        average = sum / count;
        integer = input.nextInt();
    }
2020-11-30