【发布时间】:2013-05-10 07:28:57
【问题描述】:
我正在用 Java 编写一个程序,其中有一些文本字段和一个按钮。
我得到一个java.lang.NumberFormatException: For input string: "",即使我在运行程序时填写了所有的文本字段。
我的代码如下所示:
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
method();
}
}
);
public void method() {
try {
String string1 = textfield1.getText();
String string2 = textfield2.getText();
String string3 = textfield3.getText();
if ( string1.length() == 0 || string2.length() == 0 || string3.length() == 0) {
System.out.println("fill in the required text fields");
return;
}
int number = Integer.parseInt(textfield3.getText());
//do something
}
catch ( NumberFormatException e ) {
System.out.println("Wrong format");
}
}
编辑:
【问题讨论】:
-
您将
textfield3.getText();分配给string3。还不如用它!另外,调试您的代码。它会告诉你哪里出错了。在查看您提供的代码后,我看不出有什么问题。现在是时候纠正一些愚蠢的错误了。您确定textfield3是正确的字段吗? -
我的猜测是你的代码看起来像这样,但不完全一样。该错误可能在“不完全”部分。发布重现问题的 SSCCE。
-
尝试使用 String#trim().length()。添加一些 System.out 来测试文本字段的值并尝试调试代码
-
我认为错误不在方法中,因为您捕获了异常,您可以发布更多代码还是这是您在代码中将字符串转换为数字的唯一一次?
-
@JBNizet 我现在添加了一个指向我的代码的链接。
标签: java actionlistener numberformatexception