2016-11-01 7 views
-1

私はこのコードで文字列を入力しようとしているときに整数を入力します。整数型の文字列を入力します

私を助けることができますか? Exception handlingを、またはあなたの完全なコードはここ

以下のコードを使用します:あなたがここにあなたの解決策を見つけることができます

 import java.util.Scanner; 
     public class kl { 
      public static void main(String[] args) { 
       boolean primen = true; 
       Scanner input = new Scanner(System.in); 
       System.out.print("Please enter a positive integer that is prime or not : "); 
       int ncheck = input.nextInt(); 
       if (ncheck < 2) { 

        primen = false; 

       } 
       for (int i = 2; i < ncheck; i++) { 
        if (ncheck % i == 0) { 
         primen = false; 
         break; 
        } 
       } 
       if (primen == true) { 
        System.out.println(ncheck + " is a prime number."); 
       } 
       else { 
        System.out.println(ncheck + " is not a prime number."); 
       } 
      } 
     } 
+0

JavaScriptよりもJavaに似ていますか? – adeneo

+1

あなたのタグには注意してください。 'javascript'は' java'に関連していません。 –

+0

私はあなたが彼または彼女は、私は、Javaのコーディングでのスターターだとあなたはそれを簡単に説明することができ、文字列 –

答えて

0

while(true){ 
System.out.print("Please enter a positive integer that is prime or not : "); 
try{ 
    int i = input.nextInt(); 
    break; 
}catch(InputMismatchException e){ 
    System.out.print("Wrong type input, pls try again!"); 
    input.nextLine(); \\ prevent infinite loop 
} 

あなたが見ることができる。ここ

は私のコードです:私は例外処理プロセッサーを使用して InputMismatchExceptionを捕まえ、コンソールにメッセージを表示します。 InputMismatchExceptionを例外で置き換えることができます。それは最大です ExceptionハンドラークラスのJava

+0

は、それが動作についてはあなたにたくさんの感謝「を参照して番号を入力してください」しかし、それは 輸入java.util.InputMismatchExceptionに必要与えます –

0

Scannerで使用できる2つの方法があります。その後、キャッチし、次の入力トークンが整数でない場合、あなたが取得するInputMismatchExceptionを扱う

  • コールnextInt()

  • hasNextInt()を呼び出します。それがtrueを返す場合は、nextInt()に電話してください。いずれの場合も

あなたは整数を期待して、ユーザーが何かを入力した場合、その後、nextInt()またはhasNextInt()どちらも予期しない文字を「消費」します。そのため、ユーザーがもう一度試してみるには、nextLine()に電話をかけて、残りの文字をすべて読み取る必要があります。通常は破棄します。 Scannerの使用方法の詳細については

:例外処理の詳細については

関連する問題