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

标签 java loops system.out

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

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

Enter an integer, or Q to quit: 90
80
Enter an integer, or Q to quit: 100
Enter an integer, or Q to quit: 25
Enter an integer, or Q to quit: 7
Enter an integer, or Q to quit: 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 个数字,其中一个是最大值。

关于Java,第二个打印输出与其他打印输出不同,基于循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19444074/

相关文章:

java - 在android中使用哪种音频格式来存储录音

json - SSIS-如何将文件夹中的多个JSON文件导入Oracle?

java - 每 x 秒读取新文件夹并使用其数据

java - System.out.println 与 PrintWriter 性能比较?

java - 谁管理 System.in/System.out 的打开/关闭?

java Math.random() 从 -N 到 N

java - 如何比较数组的相反索引值并根据嵌套 for 循环的条件进行删除?

ios - 在 for 循环中将 PFFile 数组转换为 UIImage 返回空数组 Swift

java - 如何进行输入而不是在字段中输入数字

java - 如何阻止 BorderLayout 的中心占据东部和西部?