该程序旨在接受用户输入,直到输入零,然后打印出有关整数的信息。它还意味着读取输入是否为偶数/奇数,计算总和,找到输入的最大和最小整数,计算输入的总整数,并求出平均值。当用户输入 0 时它不会停止,如果没有输入也不会打印“No data entered”行。它也没有正确计算偶数。
import java.util.Scanner;
public class Lab4 {
public static void main(String[] args) {
int counter = 0;
double even = 0;
double odd = 0;
double sum = 0;
int input = 0;
int large = 0;
int small = 0;
double average;
System.out.print("Enter a series of values (0 to quit): ");
Scanner in = new Scanner(System.in);
while ((input = in.nextInt()) != 0) {
small = in.nextInt();
large = in.nextInt();
if (input != 0)
sum = input + sum;
counter++;
if (input > large)
large = input;
if (input < small)
small = input;
if (input % 2 == 0)
even = even + 1;
else
odd = odd + 1;
}
if (counter > 0) {
average = sum / counter;
System.out.println("The smallest integer is: " + small);
System.out.println("The largest integer is: " + large);
System.out.println("Total number of integers entered is " + counter);
System.out.println("Total even numbers entered is " + even);
System.out.println("Total odd numbers entered is " + odd);
System.out.println("The average value is: " + average);
} else {
System.out.println("No data was entered.");
}
}
}
原文由 Sharon Nystrom 发布,翻译遵循 CC BY-SA 4.0 许可协议
当读取第一个数字来填充大小时,我们只需要这样做一次。并且无需使用
in.nextInt()
重新读取数字,因为这将耗尽输入的下一个输入,这可能导致未在零处终止错误。