try {
Character.isDigit(Integer.parseInt(txtWeight.getText()));
} catch (java.lang.NumberFormatException ex) {
JOptionPane.showMessageDialog(null, "Enter a number");
pnlStart.setSelectedIndex(2);
}
txtWeight是一个JTextField,用户可以输入自己的值。我需要使用try catch检查用户输入的是一个整数,以便程序在输入时不会崩溃。
更新:
boolean s = false;
while (s == false) {
try {
Integer.parseInt(txtWeight.getText());
s = false;
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(null, "Enter a number!");
s =true;
}
}
答案 0 :(得分:0)
我认为您的代码无效?
我这样做的方法是创建一个布尔方法并返回true或false
boolean checkIfNumber(String s) {
try {
Integer.parseInt(s);
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(null, "Enter a number!");
return false;
}
return true;
}
修改强>
在这种情况下我要做的是,使用调用if
方法的boolean
语句包围您正在执行的任何代码:
if (checkIfNumber(txtWeight.getText())) {
//do your code here
} else {
//do something else if necessary if the return is false
}