Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中实现简单的循环和JOptionPane_Java_Loops_Joptionpane - Fatal编程技术网

如何在java中实现简单的循环和JOptionPane

如何在java中实现简单的循环和JOptionPane,java,loops,joptionpane,Java,Loops,Joptionpane,我必须将此代码和循环if语句添加到它和JOptionPane中,这样当您输入一个名称和框数时,它就会不断循环并显示选择最多的框的名称和数目,直到您退出。但是我落后了,我只是不知道怎么做,我在循环方面遇到了很多麻烦 代码如下: public class Picker { private String name; private int numberOfBoxes; private int payAmount; public static final int PAY

我必须将此代码和循环if语句添加到它和
JOptionPane
中,这样当您输入一个名称和框数时,它就会不断循环并显示选择最多的框的名称和数目,直到您退出。但是我落后了,我只是不知道怎么做,我在循环方面遇到了很多麻烦

代码如下:

public class Picker {

    private String name;
    private int numberOfBoxes;
    private int payAmount;
    public static final int PAY_PER_BOX = 3;


    public Picker(String name, int numberOfBoxes) {

        setName(name);
        //this will set the number of boxes and the pay.
        setNumberOfBoxes(numberOfBoxes);
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setNumberOfBoxes(int numberOfBoxes) {
        this.numberOfBoxes = numberOfBoxes;
        //also set the pay based on the number of boxes.
        payAmount = numberOfBoxes * PAY_PER_BOX;
    }

    public String getName() {
        return name;
    }

    public int getNumberOfBoxes() {
        return numberOfBoxes;
    }

    public int getPayAmount() {
        return payAmount;
    }


    public String toString() {
        return "Name: " + name + "\n"
                + "Number of boxes: " + numberOfBoxes + "\n"
                + "Pay: $" + payAmount + "\n";

    }

}

任何帮助都将不胜感激。多谢各位

public String toString() {
    return "Name: " + name + "\n"
            + "Number of boxes: " + numberOfBoxes + "\n"
            + "Pay: $" + payAmount + "\n";

}
对于初学者来说,将
@Override
标记放在这个方法之上是一个非常好的主意,因为您正在覆盖对象类中的默认toString()方法。放置
@Override
将提高代码可读性并捕获方法名称中的小错误,这是开发人员非常认可的做法


现在,假设我正确理解了您的问题,您可以创建一个
while
循环,该循环将永远运行并打印指针的名称和框的数量。您可以将这些指针作为静态变量存储在
Pointer
类中,并循环使用它们,然后根据最大值进行打印。为了减少垃圾邮件,可以存储类型为
Pointer
String
的临时变量(如果要存储指针的名称),如果最高值等于该变量,则不打印任何内容,否则,请更新该临时变量,并根据您的值打印您想要打印的内容。

您可以从以下代码获得帮助:

 for (int i = 0; i < 3; i++) {
            JOptionPane.showConfirmDialog(null, "Hello"); // as parent component is null

        }
for(int i=0;i<3;i++){
JOptionPane.showConfirmDialog(null,“Hello”);//因为父组件为null
}

上述代码在退出之前显示三次
JOptionPane
。因此,您可以根据需要使用for或while循环。

请在此处发布代码,不要在链接中发布,当然也不要在图像中发布。有关此网站的规则和规则的更多信息,请浏览、和部分,了解此网站的工作方式,并帮助您改进当前和未来的问题。您希望我复制并粘贴代码吗?您需要阅读我上面提供的链接,他们会告诉您我想要什么,而不是网站需要什么。一般来说,阅读你发布到的任何新网站的所有要求都是一个很好的规则,而不仅仅是这一个。因此,在这种情况下,如果我不知道如何循环这个任务,甚至不知道代码应该在哪里,我应该发布多少代码?那么从这些图片中,我应该全部发布吗,或者删掉一些?所以我所有的输入都需要是joptionpane,所以我是否可以摆脱扫描仪,使用ShowInput对话框?是的。。您可以使用first frame或Jframe来获取值,也可以从控制台获取值,然后根据您的要求进行迭代。我们使用jOptionPane所做的唯一一件事就是显示输入对话框,那么我可以使用它吗?我应该在循环中放入什么?是的,您可以使用JOptionPane.showInputDialog从用户和使用循环获取输入。你可以使用:[link]()如何/在哪里写循环?它需要if-else语句吗?那么对于jOptionPane部分,我是否只需要用输入对话框替换扫描仪部分?while循环的内部是什么?你可以使用JOptionPane来获取输入而不是扫描仪,然后使while循环实现我上面建议的行为。我不知道如何使用输入对话框而不是扫描仪使其工作,或者如何编写循环并使其工作
 for (int i = 0; i < 3; i++) {
            JOptionPane.showConfirmDialog(null, "Hello"); // as parent component is null

        }