我先声明了一个变量:
String Tage = new String (txtAge.getText());
然后在程序里有这样一段代码
if {
try {
Tage = Tage.trim(); Integer.parseInt(Tage);
btnOk.setEnabled(false); } catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null, "请输入正确的年龄格式!");
btnOk.setEnabled(true);
}
else {
…………
}
我目的是判断文本框在红输入的字符是否为数字,如果输入的不是数字的话提示输入正确的年龄格式,然后输入数字以后,因为涉及到了字符串转换为整型,就一定会报出异常
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:468)
at java.lang.Integer.parseInt(Integer.java:497)
如何解决呢?
}
String Tage = new String (txtAge.getText());
然后在程序里有这样一段代码
if {
try {
Tage = Tage.trim(); Integer.parseInt(Tage);
btnOk.setEnabled(false); } catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null, "请输入正确的年龄格式!");
btnOk.setEnabled(true);
}
else {
…………
}
我目的是判断文本框在红输入的字符是否为数字,如果输入的不是数字的话提示输入正确的年龄格式,然后输入数字以后,因为涉及到了字符串转换为整型,就一定会报出异常
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:468)
at java.lang.Integer.parseInt(Integer.java:497)
如何解决呢?
}
2、直接捕获异常try{
Integer.parseInt(Tage);
}catch(Exception e){
...捕获到异常说明输入的不是数字格式,这里做处理
}
try
{
age = Integer.parseInt(txtAge.getText().trim());
btnOk.setEnabled(false);
}
catch(NumberFormatException ex)
{
JOptionPane.showMessageDialog(null, "请输入正确的年龄格式!");
btnOk.setEnabled(true);
}
if(Tage..matches("\\d+")) {
Integer.parseInt(Tage);
btnOk.setEnabled(false);
} else {
.....
}
String Tage = new String (txtAge.getText());这个不是变量吧,应该是String类型的一个引用。