欢迎使用CSDN-markdown编辑器
来源:互联网 发布:手机淘宝买东西视频 编辑:程序博客网 时间:2024/05/21 06:20
在java异常练习的时候,有这样一个问题:
如题:
1. 写一个方法,从键盘输入的必须是一个整数,如果输入的不是整数,则提示输入有误,请重新输入,直到输入正确为止。
分析如下:使用Scanner的nextInt时,如果输入的是一个字符的话,那么会有InputMismatchException异常产生,那么我使用一个while(true)循环,在循环中输入的时候捕获该异常,如果没有异常,那么就是说nextInt能够获取到正确值,那么下一句直接break结束循环,然后打印输出;如果捕获到异常,那么继续循环。
实际运行的时候发现,如果输入了字符,结果会一直输出异常信息(在catch中加入了printStackTrace),想了想,大概和C中类似,输入缓冲区中的字符不能正常获取,所以“卡”在那里,那么如何清空输入缓冲区呢,,C下可以使用fflush(stdin)的方式,Java下没有呀,而使用Scanner的时候传入了System.in,那如果我再new一个Scanner就会指向这个新创建的Scanner。
package cn.lfsenior.throwexercise; import java.util.Scanner; /** * * @author wingsgod * */ public class Demo1 { static Scanner input = new Scanner(System.in); public static void main(String[] args) { while (true) { try { acceptPrint(); break; } catch (Exception e) { // TODO Auto-generated catch block input = new Scanner(System.in); } } } public static void acceptPrint() { System.out.println("请输入一个整数:"); int temp = input.nextInt(); System.out.println(temp); } }
阅读全文
0 0
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 4.1分支管理
- RxJava操作符学习笔记
- 生活小记42
- python的numba加速
- C++与pascal的区别
- 欢迎使用CSDN-markdown编辑器
- C++API免费下载
- redis基础
- 关于线程
- zookeeper环境搭建
- MySQL在cmd中的操作
- javascript 动态画心加文字
- GAN2
- 关于网络传输层的一些概念笔记----C++学习之路