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 ..
答案 0 :(得分:1)
在比较期间,您错误地使用max
代替min
。
if (number <= max)
min = number;
将其替换为
if (number <= min)
min = number;
另一个错误是 - 您已使用min
初始化0
,这本身就是min = Integer.MAX_VALUE
最小自然数。而是使用:
{{1}}