【发布时间】:2015-04-04 10:10:24
【问题描述】:
private class CalculateButtonHandler implements ActionListener{
public CalculateButtonHandler(JTextField initialAmmount, JTextField yearsToMaturity, JTextField interestRate){
double endingBalance;
String text = interestRate.getText();
int interestRateInt = Integer.parseInt(text);
String text1 = yearsToMaturity.getText();
int yearsToMaturityInt = Integer.parseInt(text);
String text2 = initialAmount.getText();
int initialAmountInt = Integer.parseInt(text);
endingBalance = initialAmountInt * Math.pow((1 + interestRateInt/1), 1 * yearsToMaturityInt);
}
public void actionPerformed(ActionEvent e){
}
}
当前运行时错误: 线程“main”java.lang.NumberFormatException 中的异常:对于输入字符串:“”
我假设发生运行时错误是因为程序运行时没有输入,并且用户没有机会输入要解析为 int 的字符串。我不知道如何检查这个。
【问题讨论】:
-
一个简单的解决方案可能是,假设如果它发生在按钮单击时,禁用按钮直到输入所有有效输入。
-
考虑使用
JSpinner和SpinnerNumberModel而不是JTextField。 -
顺便说一句,您的代码中有一个错字 - 您使用了三次 Integer.parseInt(text),即使变量名为 text、text1 和 text2。
标签: java swing jpanel jtextfield