0
     while(flag)
     {       
        System.out.println("Press 1 to Add Student details");
        System.out.println("Press 2 to Display Student details");
        System.out.println("Press 3 to Sort");
        System.out.println("Press 4 to Search");
        System.out.println("Press 5 to Exit");
        System.out.println("Enter your choice: ");

        while(!sc1.hasNextInt())
        {
            System.out.println("Please enter proper Integer input!");
            sc1.next();
        }

        choice = sc1.nextInt();
      //more code..
    }

上記のコードでは、ユーザーからの入力を取得しています。ユーザーが int 以外を入力した場合、それは受け入れられません。int の代わりに文字列が指定され、メッセージが出力され、メニューが再度表示されないとします。メッセージの後にメニューを表示させたい。どうすればいいのですか?

4

2 に答える 2

1

これはあなたを助けるかもしれません

while (flag) {
    System.out.println("Press 1 to Add Student details");
    System.out.println("Press 2 to Display Student details");
    System.out.println("Press 3 to Sort");
    System.out.println("Press 4 to Search");
    System.out.println("Press 5 to Exit");
    System.out.println("Enter your choice: ");

    if (sc1.hasNextInt()) {
        choice = sc1.nextInt();
        //more code here
    } else {
        System.out.println("Please enter proper Integer input!\n");
        sc1.next();
    }
}

"\n"読みやすくするためにエクストラを追加しました。警告が出力されたときに、選択肢が次の行に出力されないようにします。

于 2013-09-12T12:28:01.377 に答える
0

内側のループにもメニュー sysouts が必要です。このような:-

while(!sc1.hasNextInt())
{
    System.out.println("Please enter proper Integer input!");
    System.out.println("Press 1 to Add Student details");
    System.out.println("Press 2 to Display Student details");
    System.out.println("Press 3 to Sort");
    System.out.println("Press 4 to Search");
    System.out.println("Press 5 to Exit");
    System.out.println("Enter your choice: ");
    sc1.next();
}
于 2013-09-12T11:39:02.257 に答える