当前位置: 代码迷 >> J2SE >> (年龄输入框)用getText()获得字符串如何转换成整形
  详细解决方案

(年龄输入框)用getText()获得字符串如何转换成整形

热度:4137   发布时间:2013-02-25 00:00:00.0
(年龄输入框)用getText()获得字符串怎么转换成整形?
我写的程序:
  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楼顶