2016-10-30 6 views
-1

は、ユーザー入力を受け取り、ユーザーが文字列を入力するか、int型かどうかを確認するに入りかどうか...ニード ヘルプユーザ入力文字列が入力された整数に再度尋ねるチェックユーザーは、整数または文字列JAVA

while(menu!=5) 
     { 

     System.out.println("\nWelcome To Stavan Shah's Handy Calculator"); 
     System.out.println("\n 1. Addition"); 
     System.out.println("\n 2. Subtraction"); 
     System.out.println("\n 3. Multiplication"); 
     System.out.println("\n 4. Division"); 
     System.out.println("\n 5. Exit"); 
     Scanner sc = new Scanner(System.in);   
     System.out.println("\nWhat Would you Like To Do :- "); 
     c = sc.nextInt(); 
     switch(c) 

} 
public static void pauseprog(){ 
      System.out.println("Press Enter Key To Continue..."); 
      Scanner sc = new Scanner(System.in); 
      sc.nextLine(); 
} 
} 
+0

1から5まで、または文字列に適切なメッセージを表示して、ユーザがオプション –

答えて

0

ここで1-5との間にのみ入力を受け付けるコードです:ユーザーがオプションのOTHを入力した場合

import java.util.Scanner; 
import java.util.regex.Matcher; 
import java.util.regex.Pattern;  

void checkInput() { 

    Scanner s = new Scanner(System.in); 
    Pattern p = Pattern.compile("^[1-5]$"); // only one digit between 1-5 
    Matcher m; 
    boolean match = false; 

    while (!match){ 
     System.out.print("Enter a number between 1 and 5: "); 
     m = p.matcher(s.next()); 
     if(m.find()){ 
      match = true; 
      int input = m.group(0); 
      // switch... 
     } 
    } 
} 
0

をあなたはこのようなものを使用することができます

try { 
    Integer.parseInt(userInput); 

} catch(NumberFormatException e) { 
    return false; 
} 
+0

に再入力できるようにする必要があります。didnotはそれを処理しました –

+0

こんにちは、仲間!これは完全な答えではありません。 tryセクションで成功コードを入力するかtrueを返します。これらはすべて、関数が評価するパラメータ(ユーザー入力)を使用して呼び出す関数内にある必要があります。どのように機能するのですか?あなたが成功するなら、あなたは真実になるでしょう、あなたはtryセクションでユーザー入力を解析しようとしています。問題がある場合は、数値書式の例外が発生します。これは、ユーザー入力文字列またはdoubleまたは整数と異なるものが数値書式例外としてキャッチされ、falseを受け取る場合、つまり、これがより明確であることを望む –

関連する問題