More Related Content Similar to 物件導向程式設計課程講義(98 ges hi版) Similar to 物件導向程式設計課程講義(98 ges hi版) (20) More from Hui-Shih Leng (11) 物件導向程式設計課程講義(98 ges hi版)4. 「物件導向程式設計」課程講義
九十八學年度二版
軟體需求
1. Java SE6 JDK, Java Doc
http://java.sun.com
2. JCreator
http://www.jcreator.com
Java SE6 JDK 與 Java Doc 請選擇最左邊的
JCreator 有三種版本, Pro 版有自動補完功能 (Auto Paded) ,但是屬 Shareware
, LE 版與 Classics 版則是免費使用。
第2頁
5. 「物件導向程式設計」課程講義
九十八學年度二版
設定系統環境變數
1. 新增
JAVA_HOME= C:Program FilesJavajdk1.6.0_18
2. 修改
PATH=%PATH%; C:Program FilesJavajdk1.6.0_18bin
我的電腦(按滑鼠右鍵)→進階→環境變數→系統變數
一定要先設定完系統環境變數以後再開啟 JCreator ,否則 JCreator 會抓不到
Java 的相關設定,造成無法編譯與執行的狀況。
第3頁
6. 「物件導向程式設計」課程講義
九十八學年度二版
Java 教學文件
1. Java Tutorial
http://java.sun.com/docs/books/tutorial/
2. The Swing Tutorial
http://java.sun.com/docs/books/tutorial/uiswing/
3. Example Depot
http://www.exampledepot.com/
4. Java Tutorial
http://www.java2s.com/Tutorial/Java/CatalogJava.htm
本課程預計學生已修習過程式設計,已有基本的程式設計概念,例如程式基本
架構、變數、流程控制等。
Java Doc 一定要裝!雖然檔案大了一點,可是可以節省不少查書的時間。建議安
裝在 C:Program FilesJavajdk1.6.0_12Docs 目錄下。
第4頁
7. 「物件導向程式設計」課程講義
九十八學年度二版
Applet, Application 與 Swing Application
Applet 、 Application 與 Swing Application 的差異:
1. Applet 僅能在網頁中執行,需要 HTML 加以呼叫,所以有兩個檔案。
2. Application 以「命令提示字元」模式執行,只有簡單的文字輸出入。
3. Swing Application 與視窗程式相同(事件驅動)。
[HTML]HelloApplet.htm
[Applet]HelloApplet.java
[Application]Hello.java
第5頁
9. 「物件導向程式設計」課程講義
九十八學年度二版
Java 程式的編譯與執行
編譯與執行過程除了使用 JCreator 之外,尚需熟練「命令提示字元」模式。
圖片來源:http://csjava.occ.cccd.edu/java-setup/D.htm
「命令提示字元」模式
「命令提示字元」模式下的操作
1. javac.exe
http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/javac.html
2. java.exe
http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/java.html
第7頁
10. 「物件導向程式設計」課程講義
九十八學年度二版
基本程式架構說明
說明類件(Class)、物件(Object)、建構元(Constructor)等觀念。
圖片來源:http://www.cs.princeton.edu/introcs/32class/
第8頁
11. 「物件導向程式設計」課程講義
九十八學年度二版
基本資料型態與運算子
基本資料型態
資料來源:http://www.artima.com/insidejvm/ed2/jvmP.html
基本型態運算子與 C/C++ 幾乎都相同(除了字串以外)。
第9頁
12. 「物件導向程式設計」課程講義
九十八學年度二版
資料來源:http://www.falkhausen.de/de/table/operator.gif
第 10 頁
13. 「物件導向程式設計」課程講義
九十八學年度二版
Application 模式下的輸出與輸入模式
Application 模式下的輸出使用 System.out.println() 。
[Application]Hello.java
Application 模式下的輸入模式有三種:
1. 引數列輸入
2. 鍵盤輸入,使用 BufferedReader 類別物件
3. 鍵盤輸入,使用 Scanner 類別物件
[Application]KeyinDemo1.java
[Application]KeyinDemo2.java
第 11 頁
15. 「物件導向程式設計」課程講義
九十八學年度二版
Swing 模式下的輸出與輸入
JOptionPane.showMessageDialog() 對話盒輸出,JTextField 元件輸入。
[Swing Application]DialogDemo.java
[Swing Application]SwingIODemo.java
第 13 頁
17. 「物件導向程式設計」課程講義
九十八學年度二版
陣列
Java 陣列的宣告與 C/C++ 不太一樣,注意“[”與“]”的位置;另外,以物件的
方式宣告,包括 Declaration 與 Creation 兩階段,可以分開也可以合併。
[Application]ArrayDemo.java
[Application]ObjArrayDemo1.java
[Application]ObjArrayDemo2.java
第 15 頁
19. 「物件導向程式設計」課程講義
九十八學年度二版
數字類別與字串類別
使用數字類別的理由:
1. 可以作為物件的參數。
2. 可以使用數字類別中內建常數。
3. 可以與字串類別做轉換或直接轉換進位制。
分別以 Integer 類別為例,說明數字類別與字串類別。
以 Math 類別為例,說明靜態類別。
第 17 頁
20. 「物件導向程式設計」課程講義
九十八學年度二版
字串類別的宣告、字串與數值的轉換
字串分為 String, StringBuffer, StringBuilder 三種類別。其中 String 類別為
immutable , StringBuffer 為 mutable, thread-safe , StringBuilder 則為 mutable 用
來取代在 single-thread 情況下的 StringBuffer 。注意這三種類別字串處理的函數
名稱不同。
說明 String, StringBuffered 類別的差異,並舉例。
第 18 頁
21. 「物件導向程式設計」課程講義
九十八學年度二版
如何使用亂數
亂數有兩種產生的方式:
1. 呼叫 Math.random() 靜態類別函數
2. 宣告 java.util.Random 類別物件
[Application]RandomDemo1.java
[Application]RandomDemo2.java
第 19 頁
22. 「物件導向程式設計」課程講義
九十八學年度二版
MVC 架構
一般的 MVC 架構
圖片來源:http://java.sun.com/developer/technicalArticles/javase/mvc/
Java MVC
第 20 頁
23. 「物件導向程式設計」課程講義
九十八學年度二版
圖片來源:http://pwosboy.javaeye.com/blog/118768
第 21 頁
24. 「物件導向程式設計」課程講義
九十八學年度二版
流程控制與事件驅動
與 C/C++ 相同,有 if, if …else, for , while, do…while, switch…case 等。
Swing 模式下的事件驅動是所謂的 Event-Driven ,必須熟悉「元件-事件-
介面」的處理程序。 JButton 元件為例,按下按鍵產生 ActionEvent ,必須利用
以
ActionListener 介面來處理,必須實作 ActionListener 介面中的所有 method (
ActionListener 介面中只有一個 method 即 actionPerformed() )。
Swing Events
http://java.sun.com/developer/onlineTraining/GUI/Swing2/shortcourse.html
第 22 頁
25. 「物件導向程式設計」課程講義
九十八學年度二版
Swing 模式下 JButton 元件的介紹
[Swing Application]Swing3.java
第 23 頁
27. 「物件導向程式設計」課程講義
九十八學年度二版
有圖片的 JButton 在 Java Web Start 的宣告方式
原本的 JButton 宣告
JButton b1=new JButton("剪刀",new ImageIcon("./scissor.gif"));
Java Web Start 下的宣告方式
ClassLoader cl=this.getClass().getClassLoader();
Icon scissors1=new ImageIcon(cl.getResource("images/scissors1.gif"));
JButton b1=new JButton("剪刀",scissors1);
第 25 頁
28. 「物件導向程式設計」課程講義
九十八學年度二版
Abstract Class 的介紹
Java 定義有 Abstract Class ,其目的在於利用此 Abstract Class 衍生子類別,
所以不能利用 Abstract Class 建立物件,只能透過其衍生子類別建立物件。
Abstract Class 與一般 Class 宣告類似,有資料成員、成員函數,但多了定義
abstract method , abstract method 是空的,沒有定義函數的內容,而且只能宣告
為 public 或 protected 。
[Application]ExAbstract.java
第 26 頁
30. 「物件導向程式設計」課程講義
九十八學年度二版
Interface 的介紹
Interface 是 Java 提供的另一項重要功能,與 Abstract Class 非常類似,但有
兩點不同:
1. 所有的資料都要初始化。
2. 所有的 method 都必須宣告為 abstract ,也就是說不能有一般的 method 。
[Application]ExInterface.java
第 28 頁
31. 「物件導向程式設計」課程講義
九十八學年度二版
事件處理的多種寫法
每種 EventListener 都是一種 Interface ,裡面只有定義這個 EventListener 所
提供的方法,所以當要處理事件(Event)時,必須實作出 Interface 所定義的方法,
寫法有三種:。
1. 利用 implements 關鍵字將所有抽象方法實作出來。
2. 利用 Adapter 類別。
3. 利用 Inner Class 的匿名類別方法(可以解決多重繼承的問題)。
[Swing Application]ExEvent1.java
第 29 頁
33. 「物件導向程式設計」課程講義
九十八學年度二版
[Swing Application]ExEvent2.java
[Swing Application]ExEvent3.java
第 31 頁
35. 「物件導向程式設計」課程講義
九十八學年度二版
集中事件處理
另外,當有許多不同事件要處理時,可以考慮集中事件處理。
[Swing Application]ExEvent4.java
第 33 頁
36. 「物件導向程式設計」課程講義
九十八學年度二版
Swing 模式下 JLabel 元件介紹
JLabel 用來顯示一段文字或圖形或文字加上圖形。以下舉例說明不同形式的
JLabel 。
[Swing Application]JLabelExample.java
第 34 頁
38. 「物件導向程式設計」課程講義
九十八學年度二版
利用 JLabel 顯示文字作為提示文字
[Swing Application]ExJLabel.java
第 36 頁
39. 「物件導向程式設計」課程講義
九十八學年度二版
Swing 模式下 JTextField 和 JPasswordField 元件的介紹
JTextField 輸入單行文字, JPasswordField 輸入具有遮罩的單行文字。
[Swing Application]FormExample.java
第 37 頁
41. 「物件導向程式設計」課程講義
九十八學年度二版
Swing 模式下的 JCheckBox 和 JRadioButton 元件的介紹
JCheckBox 建立核取方塊, JRadioButton 建立收音機按鈕,若要滿足單選
則必須配合 ButtonGroup 使用。
[Swing Application]ExJRadioButton.java
第 39 頁
42. 「物件導向程式設計」課程講義
九十八學年度二版
[Swing Application]ExJCheckBox.java
第 40 頁
44. 「物件導向程式設計」課程講義
九十八學年度二版
檔案處理
Java 檔案的處理架構如下,針對文字檔的處理有兩種方式:
1. 利用 FileReader 與 FileWriter 讀取與寫入文字檔
2. 利用 BufferedReader 與 BufferedWriter 讀取與寫入文字檔
[Swing Application]SourceReader.java
第 42 頁
45. 「物件導向程式設計」課程講義
九十八學年度二版
Swing 模式下 JTextArea 和 JFileChooser 元件的介紹
配 合 Java 檔 案 處 理 , 利用 FileChooser 開 啟檔 案 並 將讀 取 的 內容 放 到
JTextArea 元件中,可供修改後再儲存。
※作業:完成儲存的功能。
[Swing Application]FileRW.java
第 43 頁
48. 「物件導向程式設計」課程講義
九十八學年度二版
整合範例-猜數字遊戲
利用猜數字遊戲將前面介紹的內容整合,觀察下列原始碼的 MVC 架構。
作業:加入詢問是否再玩一次的功能。
[Swing Application]GuessAB.java
第 46 頁
51. 「物件導向程式設計」課程講義
九十八學年度二版
Java 與 MySQL 的連結
Java 與 MySQL 連結的步驟如下:
1. 下載 mysql-java-connector-5.1.12.zip ,解壓縮將 mysql-java-
connector-5.1.12.jar 放至 JRE 下的 libext 目錄下。
http://dev.mysql.com/downloads/connector/j/
2. 安裝 AppServ 包括 MySQL 與 phpMyAdmin 。
http://www.appservnetwork.com
3. 修改 C:AppServwwwphpMyAdminconfig.inc.php
第 31 行為
$cfg['PmaAbsoluteUri'] = 'http://127.0.0.1/phpMyAdmin/';
4. 資料庫(Database)、資料表(Table)、欄位(Field)、記錄(Record)之間的關係。
第 49 頁
52. 「物件導向程式設計」課程講義
九十八學年度二版
MySQL 資料庫的建立
使用 phpMyAdmin 建立 math 資料庫,並建立 student 資料表,其中包括
id, name, score 三個欄位。
資料庫 math
第 50 頁
53. 「物件導向程式設計」課程講義
九十八學年度二版
使用 phpMyAdmin 設定資料庫的權限的問題
建立一個帳號 www ,密碼為 123 的使用者帳戶,對 math 資料庫擁有
SELECT 權限。
第 51 頁
54. 「物件導向程式設計」課程講義
九十八學年度二版
SQL(Structured Query Language)介紹
SQL 命令分為 DDL 與 DML 兩類:
1. DDL(Data Definition Language) 包 括 CREATE TABLE, CREATE VIEW,
DROP TABLE, DROP VIEW, GRANT, REVOKE 。
2. DML DML(Data Manipulation Language) 包 括 SELECT, INSERT, UPDATE,
DELETE 。
3. SQL Quick Reference From W3Schools
http://www.w3schools.com/sql/sql_quickref.asp?output=print
第 52 頁
55. 「物件導向程式設計」課程講義
九十八學年度二版
JDBC 範例
建立一個基本的 JDBC 範例,目的只是確定之前的安裝連結成功。
[Application]JDBCEx1.java
第 53 頁
56. 「物件導向程式設計」課程講義
九十八學年度二版
Package 與 Jar
Package 是指將 class 封裝,則其它程式可使用 import 引入。 Jar 則是將
class 檔壓縮。 Package 時要注意路徑的設定。 Jar 的命令操作可參考下列文件:
1. Java Archive (JAR) Files
http://java.sun.com/javase/6/docs/technotes/guides/jar/index.html
2. Lesson: Packaging Programs in JAR Files
http://java.sun.com/docs/books/tutorial/deployment/jar/
第 54 頁
58. 「物件導向程式設計」課程講義
九十八學年度二版
Swing 模式中的 Model
Swing 元件中的 Model 可分為三類
1. 儲存元件內將被用來操作的資料,常用來顯示不同的資料顯示方式。例如:
ListModel, ComboBoxModel, TableModel, Document 。
2. 儲存元件操作模式的資料。例如: ListSelectionModel, TableColumnModel 。
3. 儲存元件本身性質的資料。例如: BoundedRangeModel 。
第 56 頁
59. 「物件導向程式設計」課程講義
九十八學年度二版
Swing 模式中的 JList 元件介紹
JList 元件常用建立選取清單。注意 JList 與 JComboBox 不同 JList 是清單,
JComboBox 是下拉式選單。 AbstractListModel 要實作 getElementAt(), getSize()
, DefaultListModel 則是所有方法都有預設值。ListCellRenderer 主要用於建立有
Icon 的 JList ,通常是建立某類別繼承 JLabel 並實作 ListCellRenderer 介面。
[Swing Application]JListEx1.java
第 57 頁
61. 「物件導向程式設計」課程講義
九十八學年度二版
Swing 模式下的 JComboBox 元件
JComboBox 用來建立下拉式選單。 DefaultComboBoxModel 所有方法都有
預 設 值 。 由 於 ComBoxModel 是 繼 承 自 ListModel , 所 以 若 要 實 作
ComboBoxModel ,除了要實作 ComboBoxModel 的兩個方法 getSelectedItem(),
setSelectedItem() 外,還要實做 ListModel 所定義的四個方 法 getElementAt(),
getSize(), addListDataListener(), removeListDataListener() ,共六個方法。所以如果
繼承 AbstractListModel 再實作 ComboBoxModel 則只要實作四個方法。
[Swing Application]JComboEx1.java
第 59 頁
63. 「物件導向程式設計」課程講義
九十八學年度二版
Google Chart Tools
Google Chart 是一組 Google 提供的 API ,我們可以很容易的利用它產生一
般的統計圖表。
參考文件:
1. Google Chart Tools
http://code.google.com/apis/charttools/
第 61 頁
64. 「物件導向程式設計」課程講義
九十八學年度二版
Swing 模式下的 JTabbedPane 元件
TabbedPane 類似放置文件的檔案夾,每一份文件都有標籤不同的標籤可顯
示不同的頁面。
[Swing Application]JTabbedPaneEx1.java
第 62 頁
66. 「物件導向程式設計」課程講義
九十八學年度二版
Swing 模式下 JTable 元件的介紹
JTable 用來建立表格文字,建立方式可以使用 Array 或是 Vector ,使用
Vector 比較有彈性。區別 AbstractTableModel 與 DefaultTableModel 的不同。
[Swing Application]JTableEx1.java
第 64 頁
71. 「物件導向程式設計」課程講義
九十八學年度二版
JTable 範例
以下是有關 JTable 的精彩範例:
1. JTable Example 1
http://www.crionics.com/products/opensource/faq/swing_ex/JTableExamples1.html
2. JTable Example 2
http://www.crionics.com/products/opensource/faq/swing_ex/JTableExamples2.html
第 69 頁
74. 「物件導向程式設計」課程講義
九十八學年度二版
Java Web Start 的使用
執行以下九個步驟:
1. 設定 Web Server ,開啟 C:AppServApache2.2confmime.types,加入:
# MIME type Extensions
application/x-java-jnlp-file jnlp
Apach Restart 。
2. 編譯 Test1.java 檔,產生 Test.class 檔。
Test1.java→(Compile)→Test1.class(or Test1$.class)
[Swing Application] Test1.java
3. 建立 manifest.txt (第一行的 Test1 前面空一格,第二行空行一定要有)
manifest.txt
第 72 頁
75. 「物件導向程式設計」課程講義
九十八學年度二版
Main-Class: Test1
4. 建立 Test.jar (開啟 cmd 視窗,建立 jar 檔)
jar cvfm Test1.jar manifest.txt *.class
5. 建立簽証檔 myKeystore
keytool -genkey -keystore myKeystore -alias myself
6. 對 Test.jar 檔加上簽証
jarsigner -keystore myKeystore Test1.jar myself
7. 建立 Test1.jnlp
Test1.jnlp
8. 建立 Test1.htm 連結 Test1.jnlp
Test1.htm
第 73 頁
76. 「物件導向程式設計」課程講義
九十八學年度二版
9. 利用瀏覽器開啟 URL , http://127.0.0.1/jws/Test1.htm 。
第 74 頁
77. 「物件導向程式設計」課程講義
九十八學年度二版
JDBC 範例
JDBC 範例包括建立資料庫與 JWSTest.java 兩部份。請先將 mysql-connector-
java-5.1.12-bin.jar 複製至 C:AppServwwwjws 目錄下。
1. 建立 ncue 資料庫,內含 math 資料表,內含 id, name, score 三欄位,並建立
有 select 上述資料庫權限的帳號與密碼 www, 123 。
2. 確定 JWSTest.java 程式編譯無誤。
第 75 頁
79. 「物件導向程式設計」課程講義
九十八學年度二版
3. 建立 JWSTest.jar
jar cvfm JWSTest.jar manifest.txt JWSTest*.class
4. 對 JWSTest.jar 檔加上簽証(如果已有簽証,這裡就不必再建立簽証了!)
jarsigner -keystore myKeystore JWSTest.jar myself
5. 對 mysql-connector-java-5.1.6-bin.jar 作 jarsinger 簽証。
jarsigner -keystore myKeystore mysql-connector-java-5.1.6-bin.jar myself
6. 建立 JWSTest.jnlp
第 77 頁
81. 「物件導向程式設計」課程講義
九十八學年度二版
JWSTest.jnlp
7. 建立 JWSTest.htm
JWSTest.htm
8. 利用瀏覽器開啟 URL , http://127.0.0.1/jws/JWTest.htm 。
注意!雖然 jar 檔在檔案總管中直接按兩下即可開啟,但是這只代表在本地
端的執行,與 Java Web Start 遠端佈署的意義是不同的!所以一定要以 URL 的
方式開啟才算成功!
~基礎課程結束~
第 79 頁
82. 「物件導向程式設計」課程講義
九十八學年度二版
自我評量測驗
針對以下問題,請每位同學自行查詢筆記作答:
1. Abstract Class 與一般的 Class 有什麼不同?
2. 說明 Interface 的作用?
3. Java 程式的基本架構包括那些?
4. 環境變數要設定那些?
5. JCreator 開啟 Java File 與 Java Project 有何不同, Workspace 又是什麼?
6. Java Swing 程式的基本架構包括那些?
7. Java 如何與 MySQL 資料庫連結?
8. Java 程式中執行 SQL 指令的函數有什麼要注意的?
9. 各舉一例說明 SQL 語法的 SELECT 、 INSERT 、 DELETE 、 UPDATE 。
10. 如何在 Java 中取亂數?
11. try…catch 是用在什麼場合?
12. throw 與 try…catch 有什麼不同?
13. 如何實作一個 Interface?
14. 為什麼要利用類別去繼承介面?有什麼作用?
15. String, StringBuffer 與 StringBuilder 這三個類別有什麼不同?
16. Vector 與 Array 有什麼不同?
17. 與例說明 Java 的 MVC 架構(UI-Delegate)。
第 80 頁
83. 「物件導向程式設計」課程講義
九十八學年度二版
18. 如果同時有兩個物件會觸發同一種事件,要如何分辨是那一個物件觸發的?
19. 管理 MySQL 資料庫時,會對不同的資料庫設定不同的帳號與管理權限,
為什麼?
20. FlowLayout, GridLayout, BorderLayout 有什麼不同?
21. Java Web Start 的步驟有那些?
第 81 頁
86. 「物件導向程式設計」課程講義
九十八學年度二版
URL 編碼與解碼 (RFC2396)
CGI 在傳送資料時是以 URL 格式編碼,會將空白轉換為“ +”, Unsafe 字元
則轉換為“%”後面接著以十六進位 ASCII 來表示。Safe 字元指的七位元的 ASCII
文數字與九個特號符號 (-_.!~*'()) , Unsafe 字元指由其它七位元 ASCII 。
圖片來源:http://www.albionresearch.com/misc/urlencode.php
第 84 頁
87. 「物件導向程式設計」課程講義
九十八學年度二版
觀察 CGI 過程
利用 Http Analyzer 或 HTTPDebuggerPro 觀察 CGI 的 GET 與 POST 。
[Application]FindBook1.java(GET)
第 85 頁
88. 「物件導向程式設計」課程講義
九十八學年度二版
此程式的結果以 XML 格式回傳。那麼我們要如何存取 XML 格式的資料?
1. 利用 javax.xml Package。
2. 利用 org.w3c.dom Package。
3. 利用 org.xml.sax Package。
參考網址 Processing XML with Java ,
http://www.cafeconleche.org/books/xmljava/chapters/
[Swing Application]FindBook2.java(POST )
第 86 頁
89. 「物件導向程式設計」課程講義
九十八學年度二版
此程式的結果是 HTML 格式,如何去 Parse 內容?
1. 利用 java.lang.String 類別。
2. 利用 java.util.regex Package。
3. 利用 javax.swing.text.html Package。
第 87 頁
90. 「物件導向程式設計」課程講義
九十八學年度二版
NanoXML 函數庫介紹
NanoXML 是一個免費的小型 Java XML Parser ,針對 XML 的處理提供了
簡單、快速的存取方法。將下列檔案放在 C:Program FilesJavajre1.6.0_18libext
目錄下,如果使用 JCreator ,必須將 nanoxml-2.3.3.jar 加入 JDK Profile 。
下載網址:
http://devkix.com/nanoxml-2.2.3.jar, http://devkix.com/nanoxml-javadoc.tar.gz
[Swing Application]NewFindBook1.java
第 88 頁
91. 「物件導向程式設計」課程講義
九十八學年度二版
Regular Expression (Package java.util.regex) 介紹
在 java.util.regex 這 個 Package 中 主 要 有 兩 個 Class , 包 括 Matcher 與
Pattern ,其中 Pattern 使用的就是 Regular Expresion , Regualr Expression 是字
串的一種特殊處理,是由 Perl 語言最先發明的。
參考文件:
1. http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Matcher.html
2. http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html
參考範例:
1. http://www.java2s.com/Code/Java/Regular-Expressions/Matcher.htm
2. http://www.java2s.com/Code/Java/Regular-Expressions/Pattern.htm
第 89 頁
92. 「物件導向程式設計」課程講義
九十八學年度二版
以學校圖書館館藏查詢為例
1. 檢視原始碼,找出關鍵字串
2. 找出 Regular Expression 的規則
[Application]RegEx1.java
第 90 頁
94. 「物件導向程式設計」課程講義
九十八學年度二版
以 ISBN 全國新書資訊網為例
資料來源:http://lib.ncl.edu.tw/isbn/4page-3.htm
1. 檢視原始碼,找出關鍵字串
第 92 頁
95. 「物件導向程式設計」課程講義
九十八學年度二版
2. 利用 HTML Parser 擷取所需的部份,這裡我們使用 Jericho HTML Parser 幫
助我們處理 HTML 文件 。下載 jericho-html-2.6.zip 並解壓縮至 D: ,將 au
次目錄複製至 D: 。
下載網址:
http://jericho.htmlparser.net/docs/index.html
D:NewFindBook2.java
第 93 頁