3.2.1 使用 Scanner 取得輸入
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("請輸入您的名字:");
System.out.printf("哈囉! %s!\n", scanner.next());
}
}
先看看執行結果再來解釋程式的內容:
請輸入您的名字:良葛格
哈囉! 良葛格!
3.2.2 使用 BufferedReader 取得輸入
Scanner 取得輸入的依據是空白字元,舉凡按下空白鍵、tab 鍵或是 enter 鍵,Scanner 就會傳回下一個輸入,所以在某些時候並不適用,因為使用者可能輸入一個字串,中間會包括空白字元,而您希望取得完整的字串,如果您想要取得包括空白字元的輸入,比較簡單的方法是使用 java.io.BufferedReader 類別取得輸入
使用 BufferedReader 物件的 readLine() 方法必須處理 java.io.IOException 例外(exception),例外處理機制是 Java 提供給程式設計人員捕捉程式中可能發生的錯誤所提供的機制,現階段您處理 IOException 的方法是在 main() 方法加上 throws IOException,
BufferedReader 在建構時接受一個 java.io.Reader 物件,在讀取標準輸入串流時,您可以使用 java.io.InputStreamReader,它繼承(Inherit)了 Reader類別,您可以使用以下的方法來為標準輸入串流建立緩衝區物件:
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(System.in));
BufferedReader bufferedReader 表示宣告一個型態為 BufferedReader 的參考名稱,而 new BufferedReader() 表示您以 BufferedReader 類別建構一個物件,new InputStreamReader(System.in) 表示接受一個 System.in 物件來建構一個 InputStreamReader 物件。
不用Java術語而用白話來解釋上一段的話,就是您增加一個 BufferedReader 工具,這個工具中還要加上一個 InputStreamReader 工具,而 InputStreamReader 工具中實際的核心是 System.in 工具,這三個工具組合在一起,就可以讓您進行文字輸入的讀取。
範例 3.7 BufferedReaderDemo.java
import java.io.*;
public class BufferedReaderDemo {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader =
new BufferedReader(
new InputStreamReader(System.in));
System.out.print("請輸入一列文字,可包括空白: ");
String text = bufferedReader.readLine();
System.out.println("您輸入的文字: " + text);
}
}
由於這次您所使用到的 BufferedReader、InputStreamReader 與 IOException 等類別,都是位在 java.io 套件下,所以在程式的一開頭可以使用 import 與 * 號,告訴編譯器到 java.io 下找這些類別。
readLine() 方法會傳回使用者在按下 Enter 鍵之前的所有字元輸入,不包括最後按下的 Enter 返回字元
2018年5月7日 星期一
Regular Expression 正則表示式做字串比對
Regular Expression 中文翻成正則表示式 英文簡寫為 Regex 或 RegExp RegExp 是用來比對字串是不是有符合正確的格式 語法很簡單而且大部分語言都有支援它 使用時機 譬如說你需要在程式內請使用者輸入生日 你規定的格式 1996-08...
-
【Eclipse】中文亂碼解決方法:環境編碼設定改 UTF-8 有時候打開一些別人的專案,或是以前所寫的程式,會發現怎麼中文都變成亂碼,不僅無法辨識,也無法編譯,Eclipse 的程式檔的圖示上,會有一個紅色的小叉叉。 這是由於檔案的編碼和開發工具的環境編碼不一致...
-
1. 新增帳號 : CREATE USER 使用者名稱 IDENTIFIED BY 密碼; 2. 權限設定 : GRANT 權限 ON 資料庫物件 TO 使用者名稱; GRANT 角色 TO ...
-
Android 直接連MySQL資料庫 2015/04/20 來源:CSDN博客 在Android平台下,連接電腦伺服器的MySQL、PostgreSQL、Oracle、Sybase、Microsoft SQLServer等資料庫管理系統DBMS(databasemanage...