我正在编写一个 BMI 计算器应用程序。目前,如果我没有在一个字段中输入数据,则会发生一个错误,导致程序停止工作。例如,“高度”有两个 JTextFIeld,一个是英尺,另一个是英寸。如果我只是在英尺 JTextField 中输入“6”而在英寸 JTextField 中不输入任何内容,然后在重量 JTextField 中输入我的体重并单击计算,它不起作用。
如果一个字段不包含数据,我想要做的是显示一个消息对话框,说“请确保所有字段都已填写”。
下面是添加到我的“计算”按钮的 ActionHandler 代码。
public void actionPerformed(ActionEvent e) {
double heightFT = ((Double.parseDouble(heightFt_TF.getText()));
double heightIn = (Double.parseDouble(heightIn_TF.getText()));
double weight = (Double.parseDouble(weight_TF.getText()));
double totalHeight = (heightFT*12) + heightIn;
BMI = (weight / (totalHeight*totalHeight)) * 703;
String s = BMI+"";
s = s.substring(0,4);
BMI_TF.setText(s);
}
解决了
我现在已经解决了这个问题。我所做的是在方法中添加“抛出 NumberFormatException”并尝试捕获。在 try 代码块中,如果输入了所有数据字段,我编写了要执行的代码。在 catch 子句中,我编写了使用 NumberFormatException 的代码,并简单地显示带有错误消息的消息对话框。现在,如果没有输入一个字段,则会出现消息对话框!