gpt4 book ai didi

Java - Netbeans 中的 GUI - 我有一个错误

转载 作者:行者123 更新时间:2023-12-01 14:00:10 24 4
gpt4 key购买 nike

我正在尝试制作一个计算器,其中一部分是实现一个功能,如果它从第一个文本区域读取数字 x,然后将第二个文本区域读取为 0,它将发出错误信息。但以下似乎不起作用...

私有(private)无效divideButtonActionPerformed(java.awt.event.ActionEvent evt){

    int number1, number2;
int y = Integer.parseInt(this.firstInput.getText());
if (y == 0) {
JOptionPane.showMessageDialog(this, "Cannot divide by 0", "Error", JOptionPane.ERROR_MESSAGE);
}
try {
number1 = Integer.parseInt(
this.firstInput.getText());


} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Bad first number", "Error", JOptionPane.ERROR_MESSAGE);
return;
}
try {
number2 = Integer.parseInt(
this.secondInput.getText());
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Bad second number", "Error", JOptionPane.ERROR_MESSAGE);
return;
}

int answer = number1 / number2;
this.theAnswer.setText(
"The calculated answer is: " + answer);
}

它似乎没有显示我想要的错误。有人可以帮忙吗?

---------编辑----------

糟糕,抱歉,我刚刚注意到它说的是 this.firstInput 而不是 this.secondInput。我完全捂脸抱歉......

谢谢大佬!

最佳答案

除了您试图检查第一个字段而不是第二个字段的值之外,代码的结构仍然允许执行计算,相反,您应该使用 if-例如,else 语句。

int number1, number2;
try {
number1 = Integer.parseInt(
this.firstInput.getText());


} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Bad first number", "Error", JOptionPane.ERROR_MESSAGE);
return;
}
try {
number2 = Integer.parseInt(
this.secondInput.getText());
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Bad second number", "Error", JOptionPane.ERROR_MESSAGE);
return;
}
if (number2 == 0) {
JOptionPane.showMessageDialog(this, "Cannot divide by 0", "Error", JOptionPane.ERROR_MESSAGE);
} else {
int answer = number1 / number2;
this.theAnswer.setText(
"The calculated answer is: " + answer);
}

}

此外,您已经完成了 String 的转换,您不妨使用已有的结果 - 或者尝试进行 String 比较,如果您想完全避免对话...

关于Java - Netbeans 中的 GUI - 我有一个错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19393241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com