2012-03-28 16 views
0

私は今分裂、追加などのプログラムに取り組んでいますが、他の人のために作っているので、問題には普通も文字があります。私のプログラムが文字を無視し、数字に焦点を当てるように、私はどのようなコードを実装できますか?文字を無視する

編集

インポート静的java.lang.System.out。 import java.util.Scanner;

パブリッククラス三項{ 公共の静的な無効メイン(最終文字列の引数[]){

final Scanner first = new Scanner(System.in); 
    out.print("Enter the first number: "); 
    final int First = first.nextInt(); 

    final Scanner second = new Scanner(System.in); 
    out.print("Enter the second number: "); 
    final int Second = second.nextInt(); 

    final Scanner third = new Scanner(System.in); 
    out.print("Enter the third number: "); 
    final int Third = third.nextInt(); 

    numFactors(First); 
} 

}

+1

良い解決方法はこちら:http://stackoverflow.com/questions/1102891/how-to-check-a-string-is-a-numeric-type-in​​-java – sikander

+0

「Character.isDigit c) '与えられた文字が数字かどうかを調べる? – twain249

答えて

0

次のトークンに数字以外の文字が含まれている場合、nextInt()は例外を返すので、スキャナからnext()メソッドを使用する必要があります。トークンは文字列として読み取られます。次に、空のStringを作成する(パフォーマンス上の理由から、StringBuilderはより良いかもしれませんが、複雑になります)、元の文字列をループして、既に述べたisDigit()メソッドを使用して、非数字文字を取り除くことができますその文字が数字かどうかを判断する。そうであれば、新しい文字列に追加します。数字だけを含む文字列を取得したら、Integer.parseInt(string)メソッドを使用して整数値を取得します。

私は新しいスキャナを毎回初期化する理由は分かりませんが、プログラム全体で最初のスキャナを使用できるはずです。

1

あなたはそれを見て、各文字がCharacter.isDigit()を使用して数字であるかどうか、あなたのプログラムチェックを持つことができますおそらく、あなたの数学演算子を許可したい

http://www.tutorialspoint.com/java/character_isdigit.htm

例えば、

if (Character.isDigit(input) || input == '+' || 
    input == '-' || input == '/' || input == '*') 
{ 
    // Do something with input 
} 

それはあなたが探しているものではありません場合は、より具体的には、あなたの質問を改善してください。

+0

言い換えれば、私は、もしプログラムがどんな種類の文字でもそれを無視するならば、それを意味します。それを削除してください。 –

+0

@AbrahamAndujo:あなたが投稿できる既存のコードはありますか?より多くの文脈がなくても良い答えを出すのは難しいです。 –

+0

そこに、私のポストを編集 –