我写的程序:
tf_age = new JTextField();
String ag = tf_age.getText();
if(ag.trim()!=""){
age = Integer.parseInt(ag);
}else{
age=-1;
}
tf_age.setBounds(111, 257, 112, 18);
getContentPane().add(tf_age);
但会报错:java.lang.NumberFormatException: For input string: ""
不知是什么原因?应该怎样写才对?
------解决方案--------------------------------------------------------
1.字符串比较不能用 == 或!=
2.对于错误的输入,最好还是考虑全面一点
建议:
1.给你的JTextField设置一个Document以实现输入过滤,只能输入数字
2.对于获得的输入内容,进行trim(),然后parseInt,对代码进行try-catch,如果捕获到异常,那么使用缺省值-1
- Java code
try{ age=Integer.parseInt(ag.trim());}catch(Exception e){ age=-1;}
------解决方案--------------------------------------------------------
ag.trim()!=""
改成
!"".equals(ag.trim())
------解决方案--------------------------------------------------------
字符串不要用==或者!=
要用equals或者!equals
------解决方案--------------------------------------------------------
1楼说的对啊。
------解决方案--------------------------------------------------------
1楼顶