2014-02-16 291 views
0

我想通過從兩個輸入字段獲取數據在java中添加兩個字符串。結果顯示在第三個字段中。我使用這個代碼,但NetBeans的顯示錯誤:Java圖形用戶界面

float num1,num2,result; 
num1=Float.parseFloat(jTextField1.getText()); 
num2=Float.parseFloat(jTextField2.getText()); 
result=num1+num2; 
jTextField3.setText(String.valueOf(result)); 
+4

錯誤是什麼? –

+0

此代碼是用於添加按鈕時,我按下按鈕顯示大量的線程,並在出來這條消息是顯示異常在線程「AWT-EventQueue-0」java.lang.NumberFormatException:對於輸入字符串:「Ahsan」 \t at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1241) – user3315364

+0

是發佈錯誤並且不要使用Netbeans GUI構建器(IMO) – Smitty

回答

2

Thrown to indicate that the application has attempted to convert a string to one of the numeric types, but that the string does not have the appropriate format.

你會得到一個NumberFormatException,如果你輸入的文本不正確的number.Surround在try-catchparseFloat()語句。 「Ahsan」不是一個數字,因此不能被解析。

讓這個小小的修改你的代碼:

try{ 
    num1=Float.parseFloat(jTextField1.getText()); 
    num2=Float.parseFloat(jTextField2.getText()); 
    result=num1+num2; 
    jTextField3.setText(String.valueOf(result)); 
}catch(NumberFormatException e){ 
    e.printStackTrace(); 
} 
+1

+1:'Ahsan'確實不是一個數字,雖然它不錯:) – AlexR

+0

但是,在farci中,「Ashan」被翻譯爲五個,所以爲什麼它不起作用?!開玩笑。 +1 –

+0

@peeskillet因爲贓物。 xD –

1

如果你NumberFormatException它可以在這兩條線之一發生:

num1=Float.parseFloat(jTextField1.getText()); 
num2=Float.parseFloat(jTextField2.getText()); 

更具體地說,它是從Float.parseFloat()拋出。您將不可分割的值傳遞給此方法。檢查jTextField1.getText()jTextField2.getText()返回。我相信這些字段是空的或包含無法解釋爲合法的文本float