我的代码有什么问题?做和尝试捕捉

时间:2016-11-15 09:57:47

标签: java try-catch do-while

继续获取语法错误,插入while表达式以完成do语句。它可能像花括号等简单。

{
    int num = 0;
    //flag
    boolean inputOk = false;
    Scanner s = new Scanner (System.in);

    do {            
         try {
            System.out.println("Enter a number....");
            num =s.nextInt();

            System.out.println("you entered : " + num);
            // got here then things are good
            inputOk = true;

         } catch (InputMismatchException ex) {
            System.out.println("Again please....digits only");
            // flush the scanner
            s.next();
         }

    } while (inputOk != true);
    s.close();
    System.out.println("Thank you");    
}

2 个答案:

答案 0 :(得分:0)

您缺少结束大括号“{”我是否已在下面的代码中更正了

     int num = 0;
    //flag
    boolean inputOk = false;
    Scanner s = new Scanner (System.in);

      do {

        try {
            System.out.println("Enter a number....");
            num =s.nextInt();

        System.out.println("you entered : " + num);
        // got here then things are good
        inputOk = true;

        } catch (InputMismatchException ex) {
            System.out.println("Again please....digits only");
            // flush the scanner
            s.next();


        }} while (inputOk != true);
        {
           s.close();
           System.out.println("Thank you");
        }

答案 1 :(得分:0)

在你的代码中,你缺少大括号“}”的结尾。对于Scanner,最好使用try with resource。这是工作代码

    int num = 0;
    //flag
    boolean inputOk = false;
    try (Scanner s = new Scanner(System.in)) {
        do {

            try {
                System.out.println("Enter a number....");
                num = s.nextInt();

                System.out.println("you entered : " + num);
                // got here then things are good
                inputOk = true;

            } catch (InputMismatchException ex) {
                System.out.println("Again please....digits only");
                // flush the scanner
                s.next();

            }
        }
        while (inputOk != true);
    }
        System.out.println("Thank you");