int number = 0, min = 0, max = 0, sum = 0, i = 0;
double average;
boolean notNull = true;
while (notNull == true)
{
System.out.print("Enter a number: ");
number = Integer.parseInt(kb.readLine());
if (number < 0)
notNull = false;
else
{
if (number>max)
max = number;
if (number<=max)
min = number;
sum += number;
i++;
}
}
average = (sum/i);
System.out.println("Max: " + max);
System.out.println("Min: " + min);
System.out.println("Average: " + average);
如果我有数字 15, 19, 4, 8, 12, -5
我必须输出最大数字19
最小数字是 4,因为 -5 不是最小数字,它是停止程序的触发器,因此不包括在内...但是,我得到的不是 4,而是最小值 12..
最佳答案
在比较过程中,您错误地使用了 max
代替了 min
。
if (number <= max)
min = number;
用这个替换它
if (number <= min)
min = number;
另一个错误是 - 你用 0
初始化了 min
,它本身就是
最小自然数。而是使用:
min = Integer.MAX_VALUE
关于java - 如何获取用户输入的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27339469/