1
import java.util.Scanner;

public class test {

    public static void main(String[] args) {
        System.out.print("Enter a number: ");
        Scanner keyboard = new Scanner(System.in);
        int x = keyboard.nextInt();

    }
}

int 以外が入力されたときにエラーを発生させるのではなく、int が入力されるまで上記のようなコードをループするにはどうすればよいですか?

4

2 に答える 2

2

Scanner クラスには多くの機能が組み込まれているため、明示的にエラーをキャッチする必要がない限り、try-catch を実行する必要はありません。

public static int test(){
    int number = 0;
    Scanner input = new Scanner(System.in);
    boolean valid = false;
    do{
        System.out.print("Please enter an integer: ");
        if(input.hasNextInt()){ // This checks to see if the next input is a valid **int**
            number = input.nextInt();
            valid = true;
        }
        else{
            System.out.print("Not a valid integer!\n");
            input.next();
        }
    }while(valid == false);
    return number;

}

于 2013-11-01T23:22:25.683 に答える