Java 程式設計(一)  第 二章 Java 程式架構與輸入/輸出  上一頁    下一頁

 

2-7 掃描鍵盤輸入

內容:

  • 2-7-1 掃描輸入套件 - Scanner

  • 2-7-2 範例研討:登錄客戶資料

  • 2-7-3 自我挑戰:製作單位名片

利用 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

輸入方法

功能敘述

keyin.nextLine()

讀入一行字串

keyin.next()

讀入一個字串

keyin.nextInt()

讀入一個整數

keyin.nextFloat()

讀入一個浮點數

keyin.nextDouble()

讀入一個雙倍浮點數

keyin.useDelimiter(“;”)

設定分隔符號,如分號(;

值得注意的是,上述各種讀取方法大多已指定資料型態,如果讀取方法與輸入資料的型態不符合的話,將會出現執行錯誤(Run-time error)。另外,useDelimiter() 方法是設定輸入行的分隔記號,即是當每一行包含多項資料時,資料項之間的分隔記號為何。較常見的分隔記號有:空格(space,一個或多個皆相同)、分號(;)或冒號(:);如果沒有特殊指定大多採用空白鍵(第八章有範例說明)。

2-7-2 範例研討:登錄客戶資料

A程式功能:Ex2_7.java

請製作一套登錄客戶資料的雛形軟體,系統要求輸入客戶資料後,再印出輸入結果,觀察是否正確,期望操作格式如下所示:

請輸入客戶資料(姓名 年齡 消費金額) =>張大銘  22 45000

客戶資料如下:

客戶姓名: 張大銘

客戶年齡: 22

消費金額: 45000.00

B製作技巧分析:

本系統要求每一筆資料必須連續輸入,一直到敲入『Enter』鍵後結束,必須採用 Scanner 類別才可達成。輸入資料的順序是姓名(字串, String)、年齡(整數, int)、最後是消費金額(浮點數, float),讀取時,資料格式也不可弄混(next()nextInt()nextFloat())。

C程式範例:

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

// Ex2_7.java

 

import java.util.Scanner;

public class Ex2_7 {    

public static void main(String args[]) {

          Scanner keyin = new Scanner(System.in);

          System.out.print("請輸入客戶資料(姓名 年齡 消費金額) =>");

          String name = keyin.next();

          int age = keyin.nextInt();

          float costs = keyin.nextFloat();

         

          System.out.printf("客戶資料如下: \n\n");

          System.out.printf("客戶姓名: %s\n", name);

          System.out.printf("客戶年齡: %d\n", age);

          System.out.printf("消費金額: %.2f\n", costs);

     }

}

2-7-3 自我挑戰:製作單位名片

A程式功能:PM2_5.java

請製作某一單位的名片製作軟體,系統要求使用者輸入名片擁有人的工作單位與、姓名與電話,則印出名片格式如下:

請輸入職位名稱 =>程式設計小組

請輸入姓名 => 張大得

請輸入電話 =>(07) 74312134 ext 231

名片列印如下:

------------------------------------

台灣遊戲軟體發展協會         

程式設計小組

 

               張大得

 

電話: (07) 74312134 ext 231

地址: 高雄縣鳥松鄉澄清路 840

-------------------------------------

B製作技巧提示:

首先宣告鍵盤輸入物件(keyin)和三個字串變數(String);再由鍵盤輸入名片主人的姓名(name,張大名)、職位(position,程式設計工作小組)與電話(tel)。接著再設計並印出名片格式,程式提示如下:

01

02

03

04

05

06

07

08

09

10

……

        System.out.printf("名片列印如下:\n");

        System.out.printf("------------------------------------\n");

        System.out.printf("台灣遊戲軟體發展協會          \n");

        System.out.printf("%s\n\n", position);

        System.out.printf("\t%s\n\n", name);

        System.out.printf("電話: %s\n", tel);

        System.out.printf("地址: 高雄縣鳥松鄉澄清路 840 \n");

        System.out.printf("-------------------------------------\n");

….

翻轉工作室:粘添壽

 

Java 程式設計(一) 含程式邏輯

 

 

翻轉電子書系列: