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

时间:2018-02-16 13:14:17

标签: 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。

任何人都知道为什么它会跳过第一个用户条目?

1 个答案:

答案 0 :(得分:2)

替换这两行:

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

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