我整晚都在做这件事,但什么也没弄明白。我希望我的代码将用户输入的所有数字相加,计算用户输入数字的次数。然后计算平均值。然后找到最大值和最小值,很容易对。好吧,是的,如果我被允许使用数组,但这是为了审查,我讨厌 while 循环。
这是我的代码。
double integer = 1;
//double num = 0;
double sum = 0.0;
double average = 0.0;
Scanner input = new Scanner(System.in);
int count = 0;
// double char1=0;
double min = integer;
double max = integer;
// char letter = 'q';
while (integer != 0) {
System.out.println("Please enter an integer: ");
integer = input.nextInt();
sum += integer;
count++;
System.out.println("The sum of your numbers is: " + sum);
System.out.println("The number of values entered is: " + count);
System.out.println("");
if (integer > max)
max = integer;
else if (integer < min)
min = integer;
}
这是输出:
请输入一个整数:3 您的数字的总和是:3.0 输入的值的数量是:1
请输入一个整数:2 您的数字的总和是:5.0 输入的值的数量是:2
请输入一个整数:1 您的数字的总和是:6.0 输入的值的数量是:3
请输入一个整数:0 您的数字的总和是:6.0 输入的值的数量是:4
总和的平均值为:1.5 最大整数为:3.0 最小整数为:0.0
当计数增加 1 时,我的平均值会出错。但是为什么 0 被计为计数的一部分,为什么我的 min 总是输出 0 而不是用户输入的内容。非常感谢任何和所有帮助。
ps 我尝试了很多方法,但它不起作用。如果我尝试将计数更改为从 -1 开始,它可以解决我手头的平均问题,但计数无论如何都会增加,所以我知道它不正确。最小问题也仍然存在。
多谢你们