我写了点代码:
import java.awt.*;
import javax.swint.*;
public class Test extends JFrame{
String str;
int a;
public Test(){
this.setTitle("test");
this.setSize(600,600);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextField jt = new JTextField(4);
this.add(jt);
str = jt.getText();
a = Integer.parseInt(str);
}
public static void main(String[] args){
Test t = new Test();
System.out.println(a);
}
}
结果报错了:Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
请问各路大神,这是什么问题啊?
应该是这句错了
a=Integer.parseInt(str);
你输入的是数字吗?
对啊对啊,我就是想输入数字,然后输出来,可是报错,那句话不是把字符串转成int型吗?你的输入框没有输入时getText返回"",这样转换成数字就出异常了,在转换前做下判断。哦,这样子呀,我去试试,嘿嘿,谢谢您哈版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。