Java 在末尾返回平均值的整数序列
嘿,伙计们,这项任务我需要帮助。当我运行我所拥有的东西时,它将永远循环,我将非常感谢您的帮助。以下是我的任务: 在下一页写一个程序段,从键盘读取一系列整数,直到输入0(零)。输入时,打印每个整数(停止程序的0除外)以及输入的整数的平均值Java 在末尾返回平均值的整数序列,java,Java,嘿,伙计们,这项任务我需要帮助。当我运行我所拥有的东西时,它将永远循环,我将非常感谢您的帮助。以下是我的任务: 在下一页写一个程序段,从键盘读取一系列整数,直到输入0(零)。输入时,打印每个整数(停止程序的0除外)以及输入的整数的平均值 每个非零整数打印在单独的行上 这将一直持续到读取到零为止,此时段停止 以下是我目前掌握的情况: import java.util.Scanner; public class List { public static void main(String[]
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);
}
}
}
如果在
boom=keyboard.nextInt()阶段输入一个非零整数,它将永远循环。原因是在while块中,动臂从不改变,停止的条件是动臂不等于零
您需要在循环外部将boom设置为非零值,并将赋值从循环内部的键盘移到int的boom。您只读取了一次键盘输入。这就是你应该做的:
while (boom=keyboard.nextInt() != 0) {
sum += boom;
count++;
average = ((double)sum) / count;
System.out.println ("The average is " + average);
}
您需要正确缩进,以便您(和我们)能够理解您的代码。您的keyboard.nextInt()
行需要位于循环内部,然后需要修复循环逻辑。