2017-07-24 11 views
-3

Ich habe den folgenden Code geschrieben, wo ich eine Zeichenfolge deklarieren, die Zahlen extrahieren und dann in eine Variable result zuweisen, wo ich versuche, die Zahlen von String in Integer zu konvertieren. Ich bekomme jedoch eine Ausnahme namens java.lang.NumberFormatException. Wie vermeide ich diese Ausnahme?Warum bekomme ich diese java.lang.NumberFormatException?

Mein Code ist wie folgt. Kann mir jemand erklären?

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

, da das erste Zeichen in der Variablen number Leerzeichen ist. Ersetzen Sie 'String num =" "' mit 'String num =" "' – user1516873

+0

das Leerzeichen in 'String alpha =" ";" ist wahrscheinlich auch nicht beabsichtigt ... –

+0

Wow..Danke, du hast so viel Carlos.That funktioniert! :) Danke schön :) – Nagashri

Antwort

5

Sie beginnen Ihre num String mit einem Leerzeichen " ". Da jeder String wie " 12345" keine Nummer ist, hast du das Problem.

Versuchen Sie stattdessen String num = "";.

Verwandte Themen