首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2012-09-24 
(年龄输入框)用getText()获得字符串怎么转换成整形?我写的程序:tf_age new JTextField()String ag tf

(年龄输入框)用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楼顶

热点排行