java - 如何获取用户输入的数量?

标签 java

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/

相关文章:

Java 数组属性越界异常

java - XSSF (POI) - 将 "formula"列添加到数据透视表

Java公历

java - 对于 Windows 7,推荐的 Java 版本是什么?

java - 使用 aSmack 客户端映射 Openfire 自定义插件

java - 如何在 Fragment 中捕获 onclick 事件

java - libgdx 中的突破球碰撞

java - request.getServletContext() 和 getServletContext() 的区别

java - 未找到 Hibernate-Component 类

java - 无法使用 Eclipse 在 Java 中进行调试