需要退出循环并修复打印顺序错误(基本计算器)

时间:2015-09-25 22:29:14

标签: java loops calculator

我试图制作一个根据要求激活的计算器。我在激活计算器方面没有任何问题,但我在输入等方面遇到了困难。 我终于设法(有点)让它工作,但我需要帮助使它退出循环,并以正确的顺序打印东西。 (详情如下)。 以下是此部分的代码:

public void calculate(){

    for(int i = 1; i<2; i++){

        print("calculator activated" + "\n" + "please input your first value" + "\n", false, new Color(210, 190, 13));

        try {
            wait(KeyEvent.VK_ENTER);
        } 
        catch (Exception e1) {
        }

        input.addActionListener(new ActionListener(){

            public void actionPerformed(ActionEvent e) {

                String text1 = input.getText();
                double value1 = Double.parseDouble(text1);

                print("please inout your second value" + "\n", false, new Color(210, 190, 13));



                try {
                    wait(KeyEvent.VK_ENTER);
                } 
                catch (Exception e1) {
                }

                input.addActionListener(new ActionListener(){

                    public void actionPerformed(ActionEvent e) {

                String text2 = input.getText();
                double value2 = Double.parseDouble(text2);

                double add = value1 + value2;
                double subtract = value1 - value2;
                double multiply = value1 * value2;
                double divide = value1 / value2;

            print("add = " + add + "\n", false, new Color(210, 190, 13));
            print("subtract = " + subtract + "\n", false, new Color(210, 190, 13));
            print("multiply = " + multiply + "\n", false, new Color(210, 190, 13));
            print("divide = " + divide + "\n", false, new Color(210, 190, 13));




            }
        });
    }
        });
    }
}

当它运行时,我的程序&#39;就像一个命令提示符(无论何时键入内容并按Enter键,它都会将其打印出来),当您输入命令&#34;计算&#34;时,这部分代码就会开始。它要求输入第一个值,当你输入它时,它会在打印出第一个值之前询问第二个值。我试过了:

sleep(1000);

但它似乎没有效果。 [输入第二个值时也会发生这种情况;它在打印第二个值之前打印计算。]

此外,在打印完计算后,(在打印第二个值之前),它会显示&#34;请输入您的第二个值&#34;再次。我认为这可能是一个问题,因为他们离开了这个问题。循环,但实际上,我不知道。

由于是新用户(需要10个代表),我无法添加图片

0 个答案:

没有答案