2017-07-24 95 views
-3

我寫了下面的代碼,我聲明一個字符串,提取數字,然後將其分配到一個變量result,我試圖將String中的數字轉換爲Integer。但是,我收到一個名爲java.lang.NumberFormatException的例外。我如何避免這種異常?爲什麼我得到這個java.lang.NumberFormatException?

我的代碼如下。誰能解釋一下?

package trialprogram; 
public class Interviewaskedq { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     String S1="12SERT34"; 
     String alpha=" "; 
     String num=" "; 
     for(int i=0;i<=S1.length()-1;i++) 
     { 
      char ch=S1.charAt(i); 
      if(Character.isAlphabetic(ch)) 
      { 
       alpha=alpha+ch; 
      } 
      else if(Character.isDigit(ch)) 
      { 
       num=num+ch; 

      } 
     } 

     int result = Integer.parseInt(num); 
    } 
} 
+9

,因爲num變量中的第一個字符是空格。替換'String num =「」'''String num =「」' – user1516873

+0

'String alpha =「」;'中的空格可能也不是...... –

+0

哇......非常感謝你Carlos.That工作! :) Danke Schon :) – Nagashri

回答

5

你開始你的num字符串用一個空格" "。由於任何字符串如" 12345"不是一個數字,那麼你有問題。

請嘗試String num = "";