JAVA基础培训(9),控制台键盘输入(System.in)
时间:2011-04-07 csdn 老紫竹
从键盘输入是一个很重要的功能,这里给出了个人推荐的方式,用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读取指定类型的数据
JAVA基础培训(9),控制台键盘输入(System.in)(2)
时间:2011-04-07 csdn 老紫竹
4 如果是数字,需要注意输入格式,不能超出范围

5 数字也不能输入字母

6 进行异常处理
// 这段代码用来读取键盘输入的整数
// 请注意,你需要输入合法的整数
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);
运行效果

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