Java - 使用 while 循环丢失第一个用户输入

标签 java loops while-loop

大家早上好,

我目前正在学习编码/Java。我需要做的任务是;制作一个程序,接受用户输入并返回最高和最低条目。我必须使用 while 循环来保持简单。目前我得到了这个:

    System.out.println("Enter numbers, Q to finish: ");
    int largest = sc.nextInt();
    int smallest = sc.nextInt();

    while (sc.hasNextInt()) {
        int number = sc.nextInt();

        if(number > largest) {
            largest = number;
        }
        else if(number < smallest){
            smallest = number;
        }
    }
    System.out.printf("Largest: %d  Smallest: %d", largest, smallest);

问题是它会跳过第一个用户条目。经过一些测试后,我发现当我只输入 1 个数字并按 Q 时,我收到错误。如果我进入; 10 - 20 - 30,返回的是;最大:30 最小:20。

有人知道为什么它会跳过第一个用户条目吗?

最佳答案

替换这两行:

int largest = sc.nextInt();
int smallest = sc.nextInt();

int largest = sc.nextInt();
int smallest = largest;

关于Java - 使用 while 循环丢失第一个用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48827599/

相关文章:

java - 连续获取 jtable 值的总和

python - 在 Python 中循环遍历列表,增加值,同时在每次迭代时遍历列表

list - 无法检测无限循环的原因

c - 虽然循环不起作用

Java 通过添加循环并删除对 display() 的调用来修改 run()!

java - 为什么在下面的场景中将 Double.isNan() 的值设置为 False?

java - 加载后是否可以获取 native 库信息

java - 如何从 Jersey 中的 JSON 请求中排除空字段?

bash - 使用非整数的 Shell 循环?

java - 此代码的问题(抱歉,我不能具体说明)