java - 无法计算输入值的值并且错误提示:字符串为空
问题描述
我无法执行计算。由于错误,无法显示值: java.lang.NumberFormatException:空字符串
我为我的控制器得到了这个代码:
public class Calculate {
private MainFrame MainFrame;
private CalculatorModel CalculatorModel;
public Calculate(MainFrame MainFrame, CalculatorModel CalculatorModel){
this.MainFrame = MainFrame;
this. CalculatorModel = CalculatorModel;
}
public void CalculateTotalCash() {
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
double textField_6 ,textField_7 ,textField_8, textField_15, textField_16, textField_17, textField_18, textField_19, textField_20, textField_21 = 0;
try {
textField_6 = Double.parseDouble(MainFrame.textField_6.getText());
textField_7 = Double.parseDouble(MainFrame.textField_7.getText());
textField_8 = Double.parseDouble(MainFrame.textField_8.getText());
textField_15 = Double.parseDouble(MainFrame.textField_15.getText());
textField_16 = Double.parseDouble(MainFrame.textField_16.getText());
textField_17 = Double.parseDouble(MainFrame.textField_17.getText());
textField_18 = Double.parseDouble(MainFrame.textField_18.getText());
textField_19 = Double.parseDouble(MainFrame.textField_19.getText());
textField_20 = Double.parseDouble(MainFrame.textField_20.getText());
textField_21 = Double.parseDouble(MainFrame.textField_21.getText());
CalculatorModel.addAll(textField_6, textField_7,textField_8,textField_15,textField_16,textField_17,textField_18,textField_19,textField_20,textField_21);
MainFrame.textField_22.setText(Double.toString(CalculatorModel.getAnswer()));
}catch(NumberFormatException ex){
System.out.println(ex);
MainFrame.displayErrorMessage("Please Fill in All Fields...");
}
}
};
MainFrame.CalculateCashDrawer().addActionListener(actionListener);
}
}
我为我的模型得到了这个代码:
public class CalculatorModel {
private double answer;
public void addAll(double textField_6, double textField_7, double textField_8, double textField_15, double textField_16,
double textField_17, double textField_18, double textField_19, double textField_20, double textField_21) {
answer = (0.5 * textField_6) + (0.25 * textField_7) + textField_8 + (10 * textField_15) + (50 * textField_16)
+ (20 * textField_17) + (100 * textField_18) + (200 * textField_19) + (1000 * textField_20) + (2000 * textField_21);
}
public double getAnswer() {
return answer;
}
}
我向所有文本字段输入值并单击按钮计算,但随后出现错误。它出什么问题了?
解决方案
抱歉,我的错误只是我调用了错误的 jtextfield。JTextField_6 必须是 JTextField_60。
推荐阅读
- angularjs - $Scope 值未在 Angular JS 中更新
- python - Python可以将字典值是其其他值的总和
- android - 对改造请求调用 execute() 时出现 RuntimeException
- python - 访问 for 循环中的下 k 个元素
- drupal - 为什么报告内容和视图从管理员用户中删除?
- android - 如何检测用户点击了插页式广告?
- sql - DB2 UNION ALL 降低了查询性能
- android-studio - 在 Android Studio 中禁用多项选择?
- python-3.x - 使用 pandas 数据框创建气泡图
- kubernetes - 在 Google Kubernetes Engine 上安装 Gitlab Runner