【问题标题】:Java - losing first user input using a while loopJava - 使用while循环丢失第一个用户输入
【发布时间】:2018-02-16 21:17:00
【问题描述】:

大家早上好,

我目前正在学习编码/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。

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

【问题讨论】:

    标签: java loops while-loop


    【解决方案1】:

    替换这两行:

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

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

    【讨论】:

    • 工作就像一个魅力,非常感谢快速简便的解决方案!
    • 我该怎么做?
    • 对于您在 StackOverflow 中发布的问题,如果任何一个答案让您满意并解决了您的问题,您可以点击答案左侧的勾号接受它
    猜你喜欢
    • 2018-09-18
    • 1970-01-01
    • 2013-11-16
    • 2020-02-15
    • 2017-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多