- // 这段代码用来读取键盘输入的整数
- // 请注意,你需要输入合法的整数
- int age = Integer.MIN_VALUE;
- while (age == Integer.MIN_VALUE) {
- System.out.print("请输入你的年龄:");
- try {
- age = scan.nextInt();
- } catch (InputMismatchException ex) {
- System.out.println("请输入合法的整数");
- scan.nextLine(); // 忽略掉这一行
- }
- }
- System.out.println("您的年龄为:" + age);
从键盘输入是一个很重要的功能,这里给出了个人推荐的方式,用Scanner读取输入数据
- package lession9;
- import java.io.InputStream;
- import java.util.Scanner;
- /**
- * 老紫竹JAVA基础培训(9),控制台键盘输入(System.in)。
- *
- * @author 老紫竹 JAVA世纪网(java2000.net)
- *
- */
- public class Lession9 {
- public static void main(String[] args) {
- // 默认情况下,系统的标准输入是键盘
- // 属于标准的输入流
- InputStream is = System.in;
- // 一般不直接对输入流操作
- // 而是封装成其它的工具辅助类,比如Scanner
- Scanner scan = new Scanner(is);
- // 这段代码用来读取键盘输入的字符串
- System.out.print("请输入你的姓名:");
- String name = scan.next();
- System.out.println("您的姓名为:" + name);
- // 这段代码用来读取键盘输入的整数
- // 请注意,你需要输入合法的整数
- System.out.print("请输入你的年龄:");
- int age = scan.nextInt();
- System.out.println("您的年龄为:" + age);
- // 这段代码用来读取键盘输入的浮点数
- // 请注意,你需要输入合法的整数
- System.out.print("请输入你的身高(米):");
- float height = scan.nextFloat();
- System.out.println("您的身高为:" + height + "米");
- }
- }
1 将整数的输入数字,输入比价大的数字看看,比如12位长度的数字
2 将整数,换成long 类型的,再测试12位长度的数字看看
3 在数字输入时,输入字母看看运行结果
4 以上测试对身高同样进行,对应的是double类型
5 对于超长的数字,使用nextBigInteger和 nextBigDecimal 进行读取,对应的处理为为 BigInteger和 BigDecimal
小结:
1 使用Scanner进行键盘的输入操作
2 使用next读取一行文本数据
3 用nextXXX读取指定类型的数据
4 如果是数字,需要注意输入格式,不能超出范围

5 数字也不能输入字母

6 进行异常处理
运行效果

这次就说到这里了,其实有很多的方法可以封装InputStream,比如BufferedReader 也不错的。