HPday04-java-new Scanner(System.in).nextInt();异常
2015-08-27 20:19
711 查看
HPday04-java
1.通过控制台读取数据出现异常的问题:
通过控制台获取参数:
Scanner scanner =new Scanner(System.in);
int a =scanner.nextInt();
当我们在控制台输入 非数字时 会产生 java.util.InputMismatchException异常
通过查询api文档 InputMismatchException异常由 Scanner 抛出,表明获取的标记与期望类型的模式不匹配,或者该标记超出期望类型的范围。
import java.util.Scanner;
通过添加try catch来捕获异常
虽然能提示“只能输入数字”但输入错误的位置被跳过去了。
将Scanner scanner = new Scanner(System.in);放入 try{} 语句中,可以解决以上问题但每次new Scanner ()对内存的消耗会增加。。
1.通过控制台读取数据出现异常的问题:
通过控制台获取参数:
Scanner scanner =new Scanner(System.in);
int a =scanner.nextInt();
当我们在控制台输入 非数字时 会产生 java.util.InputMismatchException异常
通过查询api文档 InputMismatchException异常由 Scanner 抛出,表明获取的标记与期望类型的模式不匹配,或者该标记超出期望类型的范围。
import java.util.Scanner;
public class Test { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); for (int i = 0; i < 5; i++) { System.out.println("请输入第" + (i + 1) + "个数字"); int a = scanner.nextInt(); } } }
通过添加try catch来捕获异常
import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); for (int i = 0; i < 5; i++) { System.out.println("请输入第" + (i + 1) + "个数字"); try { int a = scanner.nextInt(); } catch (Exception e) { System.out.println("只能输入数字。。。"); i--; } } } }
虽然能提示“只能输入数字”但输入错误的位置被跳过去了。
将Scanner scanner = new Scanner(System.in);放入 try{} 语句中,可以解决以上问题但每次new Scanner ()对内存的消耗会增加。。
import java.util.Scanner; public class Test { public static void main(String[] args) { for (int i = 0; i < 5; i++) { System.out.println("请输入第" + (i + 1) + "个数字"); try { Scanner scanner = new Scanner(System.in); int a = scanner.nextInt(); } catch (Exception e) { System.out.println("只能输入数字。。。"); i--; } } } }
相关文章推荐
- java集合框架
- Javascipt高级程序设计--笔记
- JavaWeb:Unable to compile class for JSP
- 通过eclipse 的axis1插件,快速开发webservice服务端和客户端
- 解决eclipse ctrl+左键失效的问题
- 笨鸟先飞之Java--MySql中文数据乱码为哪般???
- 在eclipse环境下搭建一个axis2工程
- eclipse svn 与资源库同步
- java-容器
- 从事软件开发半年多来的感悟
- 浅析Java中的final关键字
- Hibernate3使用(三)Spring整合Hibernate自动扫描
- Hibernate3使用(二)Spring整合Hibernate,使用xml配置
- JAVA基础10 设计模式:结构型模式(适配器 代理模式 桥接模式 享元模式 组合模式 装饰器模式)
- Hibernate3使用(一)不使用Spring时使用Hibernate
- Java注释Override、Deprecated、SuppressWarnings
- org.w3c.dom处理xml的常用方法
- Java LinqCollection 仿Linq的list常用函数
- Struts2笔记——ONGL表达式语言
- Struts2笔记——ONGL表达式语言