Java,第二个打印输出与其他输出不同,基于循环



我正在尝试编写一个程序,它要求用户输入整数并继续输入它们,直到用户输入 Q。每次输入后,程序应提示字符串:"输入一个整数,或 Q 退出:"。

在我的终端上,每秒 out.print 只提示用户输入,而不是字符串要求输入。例如,输出如下所示:

输入一个整数,或 Q 退出:90
80
输入一个整数,或 Q 退出:100
输入一个整数,或 Q 退出:25
输入一个整数,或 Q 退出:7
输入一个整数,或 Q 退出:Q

我的代码如下...

    Scanner in = new Scanner(System.in);
    System.out.print("Enter an integer, or Q to quit: ");
    int largest = in.nextInt();
    if (in.hasNextInt())
    {
        while (in.hasNextInt())
            {

                int input = in.nextInt();
                if(input > largest)
                {
                    largest = input;
                }
                System.out.print("Enter an integer, or Q to quit: ");
            }
    }

    System.out.println(largest);

我的第一个猜测是某些陈述的顺序,但我没有任何运气。有什么建议吗?

问题是您正在等待两个数字...将其更改为如下:

        Scanner in = new Scanner(System.in);
        System.out.print("Enter an integer, or Q to quit: ");
        int largest = Integer.MIN_VALUE;
        while (in.hasNextInt())
        {           
            int input = in.nextInt();
            if (input > largest)
            {
                largest = input;
            }
            System.out.print("Enter an integer, or Q to quit: ");
        }
        System.out.println(largest);

您以前版本的代码的问题在于,最初需要 2 个数字,其中一个是最大值

最新更新