最终返回平均值的整数序列

时间:2015-10-01 02:44:25

标签: java

嘿伙计我需要帮助完成这项任务。当我运行我拥有的东西时,它会永远循环,帮助将非常感激。这是我的任务: 在下一页上写一个程序段,从键盘读取一个整数序列,直到输入0(零)。输入时,打印每个整数(停止程序的0除外)和输入的整数的平均值。

  1. 每个非零整数都打印在一个单独的行上。
  2. 这一直持续到读取零为止,此时段停止。
  3. 这是我到目前为止所拥有的:

    import java.util.Scanner;
    
    public class List {
        public static void main(String[] args) {
            Scanner keyboard = new Scanner(System.in);
            int boom = 0;
            int sum = 0;
            double average = 0;
            int count = 0;
            System.out.println("Enter a nonzero integer, please!");
            boom = keyboard.nextInt();
            while (boom != 0) {
                sum += boom;
                count++;
                average = ((double) sum) / count;
                System.out.println("The average is " + average);
            }
        }
    }
    

2 个答案:

答案 0 :(得分:0)

如果在boom=keyboard.nextInt()阶段输入非零整数,它将永远循环。原因在于,你的时间段中的繁荣永远不会改变,停止的条件是繁荣不等于零。

您需要将循环设置为循环外的非零值,并将分配从循环内的键盘移动到int的繁荣。

答案 1 :(得分:0)

您只读取一次键盘输入。这就是你应该做的:

while (boom=keyboard.nextInt() != 0) {   
    sum += boom;   
    count++;              
     average = ((double)sum) / count;  
    System.out.println ("The average is " + average);     
}   
相关问题