如何停止表达式的程序?

时间:2016-02-17 15:38:12

标签: java swing calculator

我正在为我的学校制作一个平均成绩计算器。我在JavaSwing中非常简单地这样做。你有7个文本字段(这些类),你在那里键入你的最终成绩。当您点击“计算”时,它会根据我学校使用的公式计算平均成绩。

我的问题是,当有人输入一个大于20的数字(最高等级)时,它会显示一个错误对话框,但它仍会计算平均成绩,我只是希望它显示错误对话框。

以下是代码:

    public void actionPerformed(ActionEvent e) {



            double getValuePort = Double.parseDouble(textField.getText());
            double getValueIng = Double.parseDouble(textField_1.getText());
            double getValueFil = Double.parseDouble(textField_2.getText());
            double getValueEF = Double.parseDouble(textField_3.getText());
            double getValueHCA = Double.parseDouble(textField_4.getText());
            double getValueDes = Double.parseDouble(textField_5.getText());
            double getValuePT = Double.parseDouble(textField_6.getText());


            double getValueMedia = (3*(getValuePort+getValueIng+getValueFil+getValueEF+getValueHCA)/5+getValueDes+2*getValuePT)/6;
            JOptionPane.showMessageDialog(contentPane, "A tua média é de: " + getValueMedia);
            System.out.println(getValueMedia);


            if (getValuePort > 20 || getValueIng > 20 || getValueFil > 20 || getValueEF > 20 ||
                    getValueHCA > 20 || getValueDes > 20 || getValuePT > 20) {

                JOptionPane.showMessageDialog(contentPane, "A nota não pode ser superior a 20!", "ERRO", JOptionPane.ERROR_MESSAGE, null);

            }

        }

1 个答案:

答案 0 :(得分:1)

您应该仅在getValueMedia()条件之后将else{}计算放在if()块中,以确保仅在getValuePort是有效值时才执行此计算。