首页 > 解决方案 > (Java) 如何跟踪用户输入的数字以确定最小值和最大值

问题描述

我有一个家庭作业,要求我使用一个输入对话框来要求最终用户输入一个数字,将该字符串解析为一个 int,然后使用一个确认对话框来询问用户是否要输入另一个数字。如果他们点击是,程序循环,一旦他们点击否,它会获取所有输入的数字并确定最小值和最大值。如何在不声明多个变量来保存它们的情况下跟踪所有输入的数字(因为用户在技术上可以输入无限数量的数字)?

我对编程很陌生。我一直在翻阅我的教科书,并且浏览了 Stack Overflow 以找到我的具体问题,但没有找到任何东西,至少在 Java 中是这样。

    {
        int yes = JOptionPane.YES_OPTION;

        do
        {
            String numberstring = JOptionPane.showInputDialog("Enter a "
                    + "number: ");
            int number = Integer.parseInt(numberstring);

            yes = JOptionPane.showConfirmDialog(null, "Do you want to enter"
                    + " another number?", "MinMax", JOptionPane.YES_OPTION);
        }
        while (yes == JOptionPane.YES_OPTION);

        JOptionPane.showMessageDialog(null, "The min is " + min + " and the"
                + " max is " + max);
    }

我没有完全收到任何错误,我只是不知道如何从用户那里保存可能无限数量的条目,因为程序循环直到用户单击“否”。

标签: javaloopsmaxminjoptionpane

解决方案


创建最小和最大变量,并在每次用户输入新数字时更新它们:

int min = Integer.MAX_VALUE, max = Integer.MIN_VALUE;
...
int number = Integer.parseInt(numberstring);
min = Math.min(number, min);
max = Math.max(number, max);

推荐阅读