2-7 掃描鍵盤輸入
利用 BufferedReader 所產生物件(如 keyin)的讀取輸入方法是 readLine(),readLine() 功能是一次讀取一行資料;也就是說,無論使用者由鍵盤鍵入多少字元,敲入『Enter』鍵之後,一次將所有字元讀入。如果,吾人希望由鍵盤上一次輸入多個資料,再敲入『Enter』鍵,系統再分別讀入,可以另一個掃瞄輸入Scanner)套件才可以。 2-7-1 掃描輸入套件 – Scanner Scanner 是屬於 java.util 套件的類別,不需指定異常狀態處理(如 throws IOException);導入套件與宣告語法如下: n 套件名稱:java.util.Scanner; n 物件宣告產生:Scanner in = new Scanner(System.in); 圖 2-13 為引用Scanner 套件的範例,吾人在連續輸入三筆資料,之間利用空白格(Space)隔離,可利用三個讀取方法(next()、nextInt() 與 nextFloat())j分別讀取這三筆資料。表 2-5 為 Scanner 常用的類別方法。
圖 2-13 Scanner 套件的運作程序 表 2-5 Scanner 類別的輸入方法(物件名稱為 keyin)
值得注意的是,上述各種讀取方法大多已指定資料型態,如果讀取方法與輸入資料的型態不符合的話,將會出現執行錯誤(Run-time error)。另外,useDelimiter() 方法是設定輸入行的分隔記號,即是當每一行包含多項資料時,資料項之間的分隔記號為何。較常見的分隔記號有:空格(space,一個或多個皆相同)、分號(;)或冒號(:);如果沒有特殊指定大多採用空白鍵(第八章有範例說明)。 2-7-2 範例研討:登錄客戶資料 (A)程式功能:Ex2_7.java 請製作一套登錄客戶資料的雛形軟體,系統要求輸入客戶資料後,再印出輸入結果,觀察是否正確,期望操作格式如下所示:
(B)製作技巧分析: 本系統要求每一筆資料必須連續輸入,一直到敲入『Enter』鍵後結束,必須採用 Scanner 類別才可達成。輸入資料的順序是姓名(字串, String)、年齡(整數, int)、最後是消費金額(浮點數, float),讀取時,資料格式也不可弄混(next()、nextInt()、nextFloat())。 (C)程式範例:
2-7-3 自我挑戰:製作單位名片 (A)程式功能:PM2_5.java 請製作某一單位的名片製作軟體,系統要求使用者輸入名片擁有人的工作單位與、姓名與電話,則印出名片格式如下:
(B)製作技巧提示: 首先宣告鍵盤輸入物件(keyin)和三個字串變數(String);再由鍵盤輸入名片主人的姓名(name,張大名)、職位(position,程式設計工作小組)與電話(tel)。接著再設計並印出名片格式,程式提示如下:
|
翻轉工作室:粘添壽
Java 程式設計(一) 含程式邏輯
翻轉電子書系列:
|