從鍵盤輸入是一個很重要的功能,這裡給出了個人推薦的方式,用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 進行異常處理
// 這段代碼用來讀取鍵盤輸入的整數
// 請注意,你需要輸入合法的整數
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 也 不錯的。