L77'bagabaga 2022-12-04 04:02 采纳率: 100%
浏览 41
已结题

一个java代码的bug

img


代码需求很简单,输入一个数字并打印出来,如果输入的不是数字,那么就一直循环。实现的方法有很多,偶然间发现这段代码会出现让我难以理解的bug,希望大佬们指点指点
代码如下:
static void read1(){
Scanner scan =new Scanner(System.in);
while(true){
int n;
System.out.print("enter a number:");
try {
n =scan.nextInt();
}catch(InputMismatchException e){
continue;
}
System.out.println(n);
break;
}
}

  • 写回答

5条回答 默认 最新

  • 艺术留白 Java领域新星创作者 2022-12-04 07:00
    关注

    如果你输入的不是数字,他就会捕获异常继续循环。如果是他就会输出,结束循环

    本回答被专家选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 12月15日
  • 专家已采纳回答 12月7日
  • 创建了问题 12月4日

悬赏问题

  • ¥15 halcon ocr mlp 识别问题
  • ¥15 已知曲线满足正余弦函数,根据其峰值,还原出整条曲线
  • ¥20 无法创建新的堆栈防护界面
  • ¥15 sessionStorage在vue中的用法
  • ¥15 wordpress更换域名后用户图片头像不显示
  • ¥15 如何在ubunto上安装CEF (Chromium Embedded Framework),并且基于qt实现打开一个web
  • ¥30 AD9854 为什么输出波形幅度受限,AI机器人勿扰
  • ¥15 如何在ubunto上安装CEF (Chromium Embedded Framework
  • ¥15 如何联系真正的开发者而非公司
  • ¥15 有偿求苍穹外卖环境配置