Java Scanner 怎么判断用户输入是否为数字

Integer age = null;
boolean flag = true;
Scanner scanner = new Scanner();
do {
       try {
           age = scanner.nextInt();
           flag = false;
       } catch (Exception e){
           // 把上一条的不规范数据删去(相当于指针下移)
           scanner.next();
           System.out.println("请输入数字:");
        }
    }while (flag);

解释:do/while循环利用了异常,scanner.nextInt()方法只能接收int类型的输入,否则会报出异常,在catch里执行提示输出,继续循环直到输入数字。scanner.next()的作用相当于下移指针,否则scanner里面仍然是上一条不合规范的数据,则会一直执行catch语句,变成死循环!

posted @ 2021-02-13 15:29  yyComeOn  阅读(859)  评论(0编辑  收藏  举报