java - 如何停止执行表达式的程序?

标签 java swing calculator

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

我的问题是,当有人输入大于 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);

            }

        }

最佳答案

您应该仅在 if() 条件之后将 getValueMedia() 计算放在 else{} block 中,以确保它仅如果 getValuePort 是有效值,则执行。

关于java - 如何停止执行表达式的程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35461169/

相关文章:

java - 使用 Apache Commons Configuration 将用户输入的路径传递到 .properties 文件中

C++ 对我的命令行计算器进行故障排除

c++ - 获取过滤后的用户输入并使其对应于菜单选项

java - 仅适用于特定类型的通用类

Java - 从 URL 的视频中获取片段

java - 在点击鼠标的位置添加了一个 JTextField

Java:如何刷新 JTabbedPane?

javascript - 如何在 Javascript 中使用计算器在文本字段中显示值

java - 安卓工作室 : Could not set process working directory to "new directory"

JavaFX如何计算打字错误