利用异常+nextLine()解决输入不匹配的问题
来源:互联网 发布:python cxoracle 结果 编辑:程序博客网 时间:2024/06/05 11:36
/**
* 利用异常+nextLine()解决输入不匹配的问题
*/
package java_eight;
import java.util.InputMismatchException;
import java.util.Scanner;
public class InputMismatchExceptionDemo {
public static void main(String[] args) { Scanner input=new Scanner(System.in); boolean continueInput=true; do{ try{ System.out.print("Enter two integers:"); int number1=input.nextInt(); int number2=input.nextInt(); System.out.println("The sum is "+(number1+number2)); continueInput=false; }catch(InputMismatchException ex){ System.out.println("Try again:(Incorrect input:two integers are required)"); /** * 此处的input.nextLine();是本程序的亮点,如果没有input.nextLine(); * 当输入的两个数值不是整数时,程序将会抛出异常,此时程序将会是死循环一直运行如下: * Enter two integers:Try again:(Incorrect input:two integers are required) * Enter two integers:Try again:(Incorrect input:two integers are required) * Enter two integers:Try again:(Incorrect input:two integers are required) * 原因是如果number1或者number2不是整数时,将会抛出异常,当第二次执行程序时, * 由于第一次输入的非整数的数值没有被读取,input.nextInt()会继续读取,结果会一直发生异常, * 故而continueInput=false;语句永远执行不到,出现死循环; * * 如果使用input.nextLine();语句,即使number1或者number2在某次输入中不是整数, * input.nextLine();语句会读取回车符前面没有被读取的非整数而不输出,一次来保证程序正确 * 执行。 * */ input.nextLine(); } }while(continueInput);}
}
阅读全文
0 0
- 利用异常+nextLine()解决输入不匹配的问题
- insmod不匹配问题的解决
- scanf()函数的参数输入类型不匹配问题
- 利用动态规划解决-字符串的匹配问题
- 解决锐捷客户端出现密码不匹配,请输入正确密码问题
- Alexnet分类问题,程序输入不匹配
- Access合并表 类型不匹配问题的解决方式
- 解决unix与windows文本结尾不匹配的问题
- 解决oracle服务器和客户端编码不匹配的问题
- 解决ScrollView嵌套recycleView高度不匹配的问题
- Windows和Linux上编码不匹配问题的解决
- 解决mysql 查询字符集不匹配的问题
- 解决Excel表格输入身份证号码显示异常的问题
- Java利用栈解决符号匹配问题
- vxworks解决注释不匹配问题
- vxworks解决注释不匹配问题
- 解决模块与内核不匹配问题
- 解决SVN上UUID不匹配问题
- C++模板的分离编译
- python tile([],())
- vueJS组件
- github客户端的使用
- 「笔记」《大话数据结构》第四章:栈与队列
- 利用异常+nextLine()解决输入不匹配的问题
- javascript如何快速判断变量是不是null或undefined或长度为零
- CEF:JavaScript 调用 C++ 函数 Demo(VS2013)
- 自动转换金额
- 密码是6-16位字母加数字的正则表达式和验证手机号码的正则表达式
- java学习图谱
- thymeleaf 学习笔记
- dubbo源码解析-集群容错架构设计
- metasploit渗透第二篇