2017-06-17 62 views
-2
if(Integer.parseInt(n)==(m[i].age)) 
      { 
       m[i].showdetails(); 
      } 

我得到的數字格式例外,如果條件 在此代碼n是一個字符串和M [I]。年齡是一個整數,我想他們比較獲得NumberFormatException的

謝謝:)任何幫助將不勝感激。

+1

好整,你現在知道了'N'不是一個有效的數字字符串。您的解決方案是解決它,以便它。 –

+0

'n'不是一個數字。您是否在聲明前嘗試打印它以檢查其價值?提示:你是否100%確定* n不包含空格?如果是這樣,你需要在解析之前刪除它們。 – BackSlash

+0

@BackSlash:如果'm [i] .age'不是數字,會拋出同樣的異常嗎? –

回答

-1

不要試圖將字符串轉換爲整數,而不是轉換成字符串

if(n.compareTo(Integer.toString(m[i].age))==0) 
      { 
       m[i].showdetails(); 
      } 
+0

謝謝你的回答。它的工作:) –

+1

這是一種方法 - 但請注意,通過這種方式,只會因爲任何不是給定整數的有效表示的'n'而導致'false' - 您可能會錯過錯誤。此外,我寧願'n.equals(Integer.toString(m [i] .age))' – Hulk

+0

@SurajChauhan這是一種方法,但在我看來這是錯誤的。總是解決你的錯誤,**從不**像這樣的黑客來避免解決你的錯誤。 – BackSlash