2012-05-13 2 views
0

私は文字列を分割し、その後、私は分割さあらゆる部分が、これは私がこれまで:)チェック文字列として有効な整数

public class splitest { 


public void splitfunc() { 


    String str = "A:25"; 
    String[] temp = null; 
    temp = str.split(":"); 

    run(temp); 
} 

public void run(String[] s) { 


    for (int i = 0; i < s.length; i++) { 

     if (s[i].equals(" ")) { // <<< checks if the splitted string is a digit ot not?? 

      System.out.println(s[i]+" is a number"); 

      } else 

       System.out.println(s[i]+" is an Identfier"); 
    } 
} 

public static void main(String args[]) throws Exception { 
    splitest ss = new splitest(); 
    ss.splitfunc(); 
} 
    } 

がへの道がありましたものです番号または識別子であるかどうかを確認するためにワン文字列を数字に変換してチェックするか何か?

出力は次のようにする必要があります: これはこれは数

+2

あなたは正規表現を使用するか、またはそれを解析し、またはのvalueOfを使用してみてください可能性がある識別子 です。文字列や数字、または正規表現のJava APIを知っていますか?これについては多くの方法があり、簡単に検索できます。 –

+1

私は '^ \ d + $'という文字列が排他的に1つ以上の数字を保持する正規表現ルートに行きます。 – Marc

答えて

3
public boolean isInteger(String input) 
{ 
    try 
    { 
     Integer.parseInt(input); 
     return true; 
    } 
    catch(Exception e) 
    { 
     return false; 
    } 
} 


String[] tokens = s.split("\s+"); 
for (String token : tokens) { 
    if (isInteger(token)) { 
    System.out.println(token + " is a number"); 
    } else { 
    System.out.println(token + " is an identifier"); 
    } 
} 
+1

たぶん私たちは彼らに魚を教えるべきでしょうか? –

+1

1)私は正規表現がおそらく "より良い"アプローチであると主張するだろう。2)毛布の "Exception"の代わりに "NumberFormatException"をキャッチするほうが良いかもしれない。 – paulsm4

+0

コードは2つの異なる方法でフォーマットされている。 –

関連する問題