爱问知识人 爱问教育 医院库
首页 >
电脑/网络
程序设计
JAVA相关

java如何异常捕获问题?

马*** | 2016-12-02 10:55:26

全部答案(共1个回答)

    2016-12-02 10:55:26
  • 在java异常练习的时候,有这样一个问题:
    
    如题:
    1. 写一个方法,从键盘输入一个整数,如果输入的不是整数,则提示输入有误,请重新输入,直到输入正确为止。
     
    分析如下:使用Scanner的nextInt时,如果输入的是一个字符的话,那么会有InputMismatchException异常产生,那么我使用一个while(true)循环,在循环中输入的时候捕获该异常,如果没有...

    查看全部>>

    在java异常练习的时候,有这样一个问题:
    
    如题:
    1. 写一个方法,从键盘输入一个整数,如果输入的不是整数,则提示输入有误,请重新输入,直到输入正确为止。
     
    分析如下:使用Scanner的nextInt时,如果输入的是一个字符的话,那么会有InputMismatchException异常产生,那么我使用一个while(true)循环,在循环中输入的时候捕获该异常,如果没有异常,那么就是说nextInt能够获取到正确值,那么下一句直接break结束循环,然后打印输出;如果捕获到异常,那么继续循环。
     
    实际运行的时候发现,如果输入了字符,结果会一直输出异常信息(在catch中加入了printStackTrace),想了想,大概和C中类似,输入缓冲区中的字符不能正常获取,所以“卡”在那里,那么如何清空输入缓冲区呢,,C下可以使用fflush(stdin)的方式,Java下没有呀,而使用Scanner的时候传入了System.in,那如果我再new一个Scanner就会指向这个新创建的Scanner。
    
    
    
    G*** | 2016-12-02 10:55:26 77 23 评论
    0/300
最新问答 推荐信息 热门专题 热点推荐
热点检索
确定举报此问题
举报原因(必选):
报告,这不是个问题
报告原因(必选):
返回
顶部