1

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

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

输入整数,或 Q 退出:90
80
输入整数,或 Q 退出:100
输入整数,或 Q 退出:25
输入整数,或 Q 退出:7
输入整数,或 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);

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

4

1 回答 1

1

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

        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 个数字,其中一个是最大值

于 2013-10-18T07:43:44.287 回答