InputStreamReader Console Scanner 輸入輸出 InputStreamReader Console Scanner
InputStreamReader讀取資料 較舊的Java開發模組必須使用標準序列輸入 (import java.io.*) new InputStreamReader(System.in) 並將輸入的資料指定由『暫存區』儲存 new BufferedReader(new InputStreamReader(System.in)) 由暫存區變數執行readLine方法讀入資料 Public class 類別名稱{ public static void main(String args[]) throws IOException{ BufferedReader buf; buf = new BufferedReader(new InputStreamReader(System.in)); String str = buf.readLine(); }}
Console讀取資料 JDK6新增java.io.Console類別 import java.io.Console; Console console = System.console(); 使用物件執行readLine方法讀入資料 String str = console.readLine(); 讀取資料預設為字串,其他資料型態須強制轉換。 只能用『命令提示字元』視窗輸入。
範例 使用者輸入4個數字,存於陣列並輸出。 public static void main(String args[]){ Console a = System.console(); int score[] = new int[4], i; for(i=0; i<4;i++) socre[i] = Integer.parseInt(a.readLine()); System.out.println(socre[i]); } 讓Jcreator可由命令提示字元輸入資料: Configure →Option →JDK Tools → Run Application→ Default → Edit →取消capture output
練習 讓使用者輸入兩個數字,使用console輸入功能讀取資料,加總之後輸出結果。 範例一: 範例二:
Scanner讀取資料 Scanner類別 import java.util.Scanner; 宣告scanner物件 使用sc物件讀取資料 Scanner sc = new Scanner(System.in); 使用sc物件讀取資料 字串: String str = sc.next(); 整數: int num = sc.nextInt(); 浮點數: double num = sc.nextDouble(); 布林: boolean bl = sc.nextBoolean();
Scanner讀取資料 優點 Scanner物件可讀取多種資料型態,不須強制轉換 可在Jcreator的General Output中直接輸入,不一定得用命令提示字元的視窗。
練習 宣告一個scanner物件,讀取不同型態的資料。