JAVA基礎程式設計班

Size: px
Start display at page:

Download "JAVA基礎程式設計班"

Transcription

1 JAVA 基礎程式設計班 [ 第 5 章 ] 字串 國立台灣大學資訊工程學系暨研究所 資訊系統訓練班 講師 : 宋浩

2 章節目錄 5-1 字串的基礎 5-2 StringBuffer 類別 5-3 StringBuilder 類別 5-4 字串比對與正規表示法 台灣大學資訊工程系資訊系統訓練班 2

3 5-1 字串的基礎 台灣大學資訊工程系資訊系統訓練班 3

4 字串的使用 字串是一種使用非常頻繁的資料型態 字串可以被視為一連串的字元所組合而成的資料型態 如果你參照 JDK 說明文件的內容, 雖然所看到的字串是以 char[] 型態來表示, 但在 Java 中, 字串和字元是屬於完全不同的資料型別 : 字元 是屬於 Character 類別或是 char 基本資料型態, 而 字串 是屬於 String 類別, 該類別是位在 java.lang 套件下 在 String 類別中擁有許多的方法可以被用來處理字串 由於字串內部是由字元陣列所組合而成的, 因此字串中的各個字元的排列方式也是和字元陣列相同 例如 : 字串 Java 的排列方式是 : J a v a [0] [1] [2] [3] 了解字串的這個特性將會對操作字串上會有很大的幫助 台灣大學資訊工程系資訊系統訓練班 4

5 字串的使用範例 public class BuildString { public static void main(string[] args) { // 使用字串常數建立字串 String str1 = new String(" 第一個字串 "); System.out.println(str1); // 使用字元陣列建立字串 char[] c = {' 第 ', ' 二 ', ' 個 ', ' 字 ', ' 串 '; String str2 = new String(c); System.out.println(str2); // 將字串常數指定給字串物件 String str3 = " 第三個字串 "; System.out.println(str3); 範例程式的執行結果 : 第一個字串第二個字串第三個字串 台灣大學資訊工程系資訊系統訓練班 5

6 Literal Pool (1) 因為字串是一種使用相當頻繁的資料型態, 為了使用上的方便性,Java 允許我們在程式中直接以字串常數來定義字串 : String str1 = " 這是一組字串 "; String str2 = " 這是一組字串 "; String str3 = new String (" 這是一組字串 "); String str4 = new String (" 這是一組字串 "); String str5 =" "; // 建構一個空字串 Java 的 Compiler 在遇到 String str2 = " 這是一組字串 "; 的宣告方式時, 會自動在所謂的 literal pool 中尋找是否有相同內容的字串常數 若有則傳回該字串常數的地址 若沒有, 則會建立一個新的 String 物件 台灣大學資訊工程系資訊系統訓練班 6

7 Literal Pool (2) 以下的範例程式示範這兩種方式建立的字串物件的比較結果 : class String1 { public static void main(string[] args){ String str1 = " 這是一組字串 "; // 利用字串常數建立字串 String str2 = " 這是一組字串 "; // 再利用字串常數建立字串 String str3 = new String(" 這是一組字串 "); String str4 = new String(" 這是一組字串 "); System.out.println("str1 和 str2 是否參考到同一物件 :" + (str1 == str2)); System.out.println("str1 和 str3 是否參考到同一物件 :" + (str1 == str3)); System.out.println("str3 和 str4 是否參考到同一物件 :" + (str3 == str4)); System.out.println("str1 和 str2 的內容是否相同 :" + str1.equals(str2)); System.out.println("str1 和 str3 的內容是否相同 :" + str1.equals(str3)); System.out.println("str3 和 str4 的內容是否相同 :" + str3.equals(str4)); 程式的執行結果為 : 台灣大學資訊工程系資訊系統訓練班 7

8 String 物件的常用方法 方法 char charat(int index) String concat(string str) boolean equals(object anobject) byte[] getbytes() int hashcode() int indexof(int ch) int length() String replace(char oldchar,char newchar) String substring(int beginindex) String substring(int beginindex,int endindex) char[] tochararray() String tolowercase() String touppercase() String trim() 公用取行字串中的 index 位置的字元將傳入的 str 字串連在呼叫該方法的字串後方比較字串物件和 anobject 物件是否相同將字串以位元陣列的型態傳回傳回字串的 hashcode 傳回 ch 字元在字串的位置取得字串的長度將字串的 oldchar 字元傳換成 newchar 字元從字串中第 beginindex 位置開始, 取出子字串取出字串中從 beginindex 位置到 endindex 位置的子字串將 String 物件的內容傳換為 char 陣列並傳回將 String 物件中的英文字轉為小寫並傳回將 String 物件中的英文字轉為大寫並傳回將字串兩端的空格移除 台灣大學資訊工程系資訊系統訓練班 8

9 字串屬性的取得及轉型 (1) class StringMethod1 { public static void main(string[] args) { String str = " 字串的操作 ABc"; // 宣告 String 物件, 並指定內容 int i; int slength = str.length(); System.out.println("str 字串的長度為 :" + slength); char[] tmpchar = str.tochararray(); // 將 str 轉換為 char 陣列 System.out.print("tmpChar 陣列的內容為 :"); for (i = 0; i < tmpchar.length; i++){ System.out.print(tmpChar[i]); System.out.println(); byte[] tmpbyte = str.getbytes(); // 將 str 轉換為 byte 陣列 System.out.print("tmpByter 陣列的內容為 :"); for (i = 0; i < tmpbyte.length; i++){ System.out.print(tmpByte[i] + " "); // 注意到每個中文字佔兩個 byte System.out.println(); String tmplower = str.tolowercase(); // 將字串中的英文字轉為小寫 System.out.println(" 英文字轉為小寫後的內容 :" + tmplower); String tmpupper = str.touppercase(); // 將字串中的英文字轉為大寫 System.out.println(" 英文字轉為大寫後的內容 :" + tmpupper); 台灣大學資訊工程系資訊系統訓練班 9

10 字串屬性的取得及轉型 (1) 程式的執行結果為 : 台灣大學資訊工程系資訊系統訓練班 10

11 字串內容的取得及搜尋 利用 charat 方法可以從字串中取出某個索引值位置的字元 indexof 方法可以用來在字串中搜尋特定的子字串 參考以下的範例 : class StringMethod2 { public static void main(string[] args) { String str = " 字串的操作 ABc, 字串方法的使用 "; int i; System.out.println("str 字串的內容是 :" + str); i = 2; // 設定 index 的值為 2 char find = str.charat(i); // 找出第三個字 System.out.println("str 字串的第三個字為 :" + find); // 宣告 String 物件, 並指定內容 String findstr = " 字串 "; // 設定需要搜尋的字串內容 i = str.indexof(findstr); // 找尋 字串 的位置 System.out.println(" 字串 在 str 中的第一個出現的位置是 :" + i); i = str.lastindexof(findstr); // 找尋 字串 最後出現的位置 System.out.println(" 字串 在 str 中的最後一個出現的位置是 :" + i); findstr = "Java"; // 重新設定字串的內容 i = str.indexof(findstr); // 找尋 Java 的位置, 這次找不到 System.out.println(" Java 在 str 中的第一個出現的位置是 :" + i); 程式的執行結果為 : 台灣大學資訊工程系資訊系統訓練班 11

12 字串內容的處理 (1) 除了使用 + 運算子之外, 使用 concat 方法也可連接字串 replace 方法可以用來將字串中的某個字元取代成另一個字元 substring 方法可以用來取出子字串 split 方法, 可以依照某個規則來分割字串 範例如下頁 台灣大學資訊工程系資訊系統訓練班 12

13 字串內容的處理 (2) class StringMethod3 { public static void main(string[] args){ String str = " 枯藤, 老樹, 昏鴉, "; // 宣告 String 物件, 並指定內容 String resultstr; System.out.println("str 字串的內容是 :" + str); resultstr = str.trim(); // 將原字串前後的空白刪除 System.out.println("==== 將字串的前後空白清除 ======="); System.out.println(" 新字串的內容是 :" + resultstr + "\n"); String addstr = " 小橋, 流水, 人家 "; System.out.println("==== 將原字串再連接新的字串 ======="); resultstr = resultstr.concat(addstr); // 再連接一組字串 System.out.println(" 連接後, 字串的內容是 :" + resultstr + "\n"); System.out.println("==== 取出原字串第 4 個字開始的內容 ======="); String tmpstr = resultstr.substring(3); // 取出第 4 個字 ( 含 ) 之後的所有內容 System.out.println(" 取出後, 新字串的內容是 :" + tmpstr + "\n"); System.out.println("==== 取出原字串第 4,5 個字的內容 ======="); tmpstr = resultstr.substring(3, 5); // 取出第 4~5 位置個字 ( 含 ) 之後的所有內容 System.out.println(" 取出後, 新字串的內容是 :" + tmpstr + "\n"); System.out.println("==== 將字串中的, 取代為 ======="); tmpstr = resultstr.replace(",", " "); System.out.println(" 取代後, 新字串的內容是 :" + tmpstr + "\n"); String[] splitstr; System.out.println("==== 在原字串中的 位置, 分成字串陣列 ======="); splitstr = tmpstr.split(" "); int i; for(i = 0; i < splitstr.length; i++){ System.out.println(splitStr[i]); 台灣大學資訊工程系資訊系統訓練班 13

14 字串內容的處理 (3) 程式的執行結果為 : 台灣大學資訊工程系資訊系統訓練班 14

15 課堂練習 (pt5-1) 大小寫轉換程式 (PT51.java): 設計一個程式能將輸入的英文字串字母中大寫的部份轉為小寫 小寫部份轉為大寫 例如 : 設定的字串為 :Hello Java 輸出的字串為 :hello java 台灣大學資訊工程系資訊系統訓練班 15

16 String 物件的內容無法更改 (1) String 物件一旦建立後, 其內容就無法再 更改 (immutable) 了 即使將該 String 變數重新指定新的內容,Java 的運作方式是新建立一個 String 物件, 在將新的 String 物件指定給 String 變數 要了解這個觀念前, 需要先了解 String 的儲存方式 如果希望在儲存 String 物件後, 並可以快速的再次找到該物件, 最好的方法就是將這些物件存在 雜湊表 (hash table) 中 Hash table 使用特定的演算法算出物件的 hash code, 然後再利用 hash code 到 table 中找出該物件 物件都能被存在 hash code 中, 不同的物件會有不同的 hash code 以 String 物件而言, 我們可以利用 hashcode 找出 String 的儲存位置, 而這個方法示覆寫自 Object 類別中的 hashcode 方法 參考以下的範例程式可以更了解這個概念 : class HashCode { public static void main(string[] args){ String str = "Hello World"; // 宣告 String 物件, 並指定內容 System.out.println(" 變更前,str 的 hash Code 為 :" + str.hashcode()); str = "Hello Java"; // 現在更改 str 的內容 System.out.println(" 變更後,str 的 hash Code 為 :" + str.hashcode()); 程式執行結果為 : 在執行範例程式時, 所得到的數值不會和上述的執行結果相同, 但 str 變更前後的 hash Code 是不會相同的 這告訴我們, 我們所謂的變更 String 物件的內容其實是另一個新的 String 物件的產生 台灣大學資訊工程系資訊系統訓練班 16

17 String 物件的內容無法更改 (2) class StringMethod4 { public static void main(string[] args){ String str = " Java "; // 宣告 String 物件, 並指定內容 System.out.println(" 相連前,str 字串的內容是 :" + str); String addstr = "Hello"; System.out.println("addstr 字串的內容是 :" + addstr); String resultstr; resultstr = str.concat(addstr); // 將字串相連並傳回 System.out.println(" 相連後,str 字串的內容是 :" + str); System.out.println(" 相連後,resultStr 字串的內容是 :" + resultstr); 程式執行的結果為 : 從程式第 8 行的執行結果可以觀察到,str 的內容一直都沒有變更過, 而 resultstr 物件變數指向的是一個新產生的 String 物件 台灣大學資訊工程系資訊系統訓練班 17

18 5-2 StringBuffer 類別 台灣大學資訊工程系資訊系統訓練班 18

19 StringBuffer 類別 (1) 雖然寫作程式時常會用到 String 物件, 但由於 Stiring 物件的內容無法變更, 且長度固定, 因此如果要處理一個需要時常變更內容的字串時, 直接利用 String 物件會比較不適合 因為每次變更字串內容時, 系統都會產生新的 String 物件, 並且必須對舊的 String 物件作資源回收的工作 這樣的作法會影響系統的效能 一般的作法是會利用 java.lang 套件中的 StringBuffer 類別來處理會變更內容的字串 StringBuffer 提供三種建立方式 ( 建構子 ): StringBuffer() 建構子 StringBuffer(int length) StringBuffer(String str) 作用 建構初步含資料的 StringBuffer 物件, 預設情況下,Java 會將該物件的初始化成可以儲存 16 個字元的情況 自行定義儲存字元的長度, 不含資料 以傳入的 str 參數建構出 StringBuffer 物件 StringBuffer 物件是可以變更長度及內容的, 雖然可以事先定義一個可以儲存 16 個字元的 StringBuffer 物件, 但使用時卻需要更大的容量時,JVM 會自動配置更多的儲存空間 台灣大學資訊工程系資訊系統訓練班 19

20 StringBuffer 類別 (2) 以下的範例都可以定義出 StringBuffer 物件 : // 定義一個可以儲存 16 字元的 StringBuffer 物件 StringBuffer str1 = new StringBuffer(); // 定義一個可以儲存 30 字元的 StringBuffer 物件 StringBuffer str2 = new StringBuffer(30); // 定義一個 StringBuffer 物件, 內容為 Hi StringBuffer str3 = new StringBuffer("Hi"); 更改 StringBuffer 物件的內容並不會產生一個新的物件, 這點和 String 物件不同 台灣大學資訊工程系資訊系統訓練班 20

21 StringBuffer 類別 (3) 以下的範例是使用 hashcode 方法找出 StringBuffer 物件的內容變更前後得儲存位置 : class HashCode1 { public static void main(string[] args){ StringBuffer str = new StringBuffer("Hello World"); // 宣告 StringBuffer 物件, 並指定內容 System.out.println(" 變更前,str 的 hash Code 為 :" + str.hashcode()); System.out.println(" 變更前,str 的內容為 " + str); str.append(" Hello Java"); // 現在更改 str 的內容 System.out.println(" 變更後,str 的 hash Code 為 :" + str.hashcode()); System.out.println(" 變更後,str 的內容為 " + str); String newstr = new String(str); System.out.println(" 新建立的 String 物件, 內容為 :" + newstr); System.out.println(" 新建立的 String 物件,hash Code 為 :" + newstr.hashcode()); 程式執行結果為 : 台灣大學資訊工程系資訊系統訓練班 21

22 StringBuffer 的方法 (1) StringBuffer 類別提供的方法和 String 類別的方法的使用大致相同, 但 StringBuffer 類別中提供額外的字串的操作方法有 : 方法 StringBuffer append(object obj) int capacity() StringBuffer delete(int start,int end) StringBuffer deleteat(int index) 功用 將 obj 物件增加到 StringBuffer 物件的緩衝區後 取得 StringBuffer 緩衝區的大小 移除緩衝區中由 start 到 end 位置的字元 移除緩衝區中的 index 位置的字元 StringBuffer insert(int offset,object obj) 將 obj 物件加入 StringBuffer 物件中的 offset 位置之後 StringBuffer reverse() 將緩衝區中的字串反向排列 台灣大學資訊工程系資訊系統訓練班 22

23 StringBuffer 的方法 (2) 在 StringBuffer 類別中, 除了可以使用 length() 方法取得物件的長度之外, 也可以使用 capacity() 方法來取得物件的緩衝區的大小, 例如 : class SB1 { public static void main(string[] args){ StringBuffer sb = new StringBuffer(); //sb 的緩衝區有 16 個字元 System.out.println(" 目前 sb 的緩衝區為 :" + sb.capacity()); sb.append("hello"); // 儲存了 5 個字元 System.out.println("sb 的長度為 :" + sb.length()); System.out.println(" 現在 sb 的緩衝區為 :" + sb.capacity()); 程式執行結果為 : 範例程式第 3 行定義了一個 StringBuffer 物件, 預設的緩衝區大小為 16 個字元 緩衝區的大小是物件儲存的內容在加上預留的空間的大小, 它不是固定的是數值 程式的第 6 行的內容變更了 StringBuffer 物件的內容, 該長度為 5 你可以觀察到目前的緩衝區的大小仍是 16 台灣大學資訊工程系資訊系統訓練班 23

24 StringBuffer 來操作字串 (1) class SB2 { public static void main(string[] args){ // 建構 StringBuffer 物件 StringBuffer sb = new StringBuffer("This is a book"); System.out.println(" 目前 sb 的內容為 :" + sb); System.out.println(" 開始前,sb 的 HashCode 為 ----" + sb.hashcode()); // 利用 setcharat 設定字串緩衝區的內容 sb.setcharat(2, 'a'); sb.setcharat(3, 't'); System.out.println(" 使用 setcharat 後,sb 的內容為 :" + sb); // 使用 append 新增字串緩衝區的內容 sb.append(", or a magazine"); System.out.println(" 使用 append 後,sb 的內容為 :" + sb); // 使用 insert 新增字串到緩衝區中的特定位置 sb.insert(0, "I guess "); System.out.println(" 使用 insert 後,sb 的內容為 :" + sb); // 使用 delete 刪除字串緩衝區的內容 sb.delete(0, 8); System.out.println(" 使用 delete 後,sb 的內容為 :" + sb); // 使用 replace 取代字串緩衝區的內容 // 將 That 更改為 This sb.replace(0, 4, "This"); System.out.println(" 使用 replace 後,sb 的內容為 :" + sb); // 使用 reverse 將字串緩衝區的內容反轉 sb.reverse(); System.out.println(" 使用 reverse 後,sb 的內容為 :" + sb); System.out.println(" 操作後,sb 的 HashCode 為 ----" + sb.hashcode()); 台灣大學資訊工程系資訊系統訓練班 24

25 StringBuffer 來操作字串 (2) 程式執行結果為 : 範例程式的內容很容易理解 但是請注意整個範例程式中我們只使用了 sb 這個 StringBuffer 物件, 而且在整個程式的操作過程中, 並沒有新的物件產生 台灣大學資訊工程系資訊系統訓練班 25

26 課堂練習 (pt5-2) 加密程式 (PT52.java): 設計一個加密程式, 該程式能夠將各英文字元轉換成下一個字元順序的字元, 例如 : 輸入 a, 輸出 b 轉換完成後, 再將字串反向輸出 例如 : 輸入 Hello 會得到 Ifmmp, 反向後輸出為 pmmfi 台灣大學資訊工程系資訊系統訓練班 26

27 5-3 StringBuilder 類別 台灣大學資訊工程系資訊系統訓練班 27

28 StringBuilder 類別 效能比 StringBuffer 快! 缺點 : 沒有 thread safe ( 不支援多執行緒 ) 因此在沒有需要多執行緒的環境中 使用 StringBuilder 會得到較高的效能! StringBuffer sb = new StringBuffer(); 改成 : StringBuilder sb = new StringBuilder(); 台灣大學資訊工程系資訊系統訓練班 28

29 5-4 字串比對與正規表示法 台灣大學資訊工程系資訊系統訓練班 29

30 比對字串的內容 (1) class StringMatches { public static void main(string[] args) { if (args[0].matches("allan")) { System.out.print("Hi Allan 歡迎你!"); else { System.out.print(" 請問你是哪位?"); matches 方法看起來跟 equals() 功能沒什麼兩樣, 但 matches 方法功能強大多! 台灣大學資訊工程系資訊系統訓練班 30

31 比對字串的內容 (2) 剛剛的程式有個缺點, 如果使用者輸入的是小寫開頭 allan, 程式會判斷成 false! 當然, 你可以改成 if else if else 的,Allan allan 各比對一次 但其實有更好的作法, 請看下面的範例 : class StringMatches2 { public static void main(string[] args) { if (args[0].matches("[aa]llan")) { System.out.print("Hi Allan 歡迎你!"); else { System.out.print(" 請問你是哪位?"); 這樣輸入 Allan 或 allan 就都能得到 Hi Allan 歡迎你! 的正確訊息了! 台灣大學資訊工程系資訊系統訓練班 31

32 正規表示法 (1) Regular Expression 剛剛我們用的 [Aa] 其實是使用了正規表示法, 正規表示法對於字串處理 判斷是非常重要的技術 api/java/util/regex/pattern.html 介紹了正規表示法的內容 台灣大學資訊工程系資訊系統訓練班 32

33 正規表示法 (2) 正規表示法的表示字串的內容主要可以分成兩大類 : Characters: 一般字元 ( 文數字元 ), 所代表的意義與原字面的意義相同 Operators: 特殊字元 ( 非文數字字元 ), 代表某種特殊規則的意義 若要取消其代表意義, 必須使用 \ 跳脫字元 台灣大學資訊工程系資訊系統訓練班 33

34 正規表示法 (3) "foo" 的 RE 表示字串 "foo" 的意思 "[Ff]oo" 的 RE 表示字串 "Foo" 或字串 "foo" 的意思 "F*" 的 RE 表示 F 這個字元會出現 0 次或多次 "F\*" 的 RE 表示字串 "F*" 的意思 台灣大學資訊工程系資訊系統訓練班 34

35 正規表示法 (4). 句號 (period) 代表任意一個字元, 如.at 可符合 bat, cat, rat 等任何字開頭, 結尾是 at 的單字 [ ] 中括號 (brackets) 代表集合中的任一字元, 如 [01256] 代表 0,1,2,5,6 這個集合中的任何一個字元 - 連字號 (dash) 在中括號內表示 範圍, 如 [0-9] 代表 0 到 9 的任一個單一的數字 ^ (carat) 在中括號內表示 否定, [^aeiou] 代表除了 a,e,i,o,u 這幾個母音之外的字元 台灣大學資訊工程系資訊系統訓練班 35

36 正規表示法 (5) (pipe) 表示可選擇的, 如 cat dog bird 代表 cat, dog, bird 其中之一皆可 (or 的概念 )? 問號 (question mark) 表示前面的字元或集合出現 0 次或 1 次, 如 colou?r 代表 u 這個字可出現也可不出現 + 加號 (plus) 表示前面的字元或集合出現 1 次或多次, 如 ap+le 代表 p 這個字至少出現 1 次 * 星號 (asterisk) 表示前面的字元或集合出現 0 次或多次, 如 section [0-9]* 代表數字可出現也可不出現 { 大括號 (curly-braces) 表示前面的字元或集合出現的次數, 如 c{5,8 代表 c 這個字重複出現 5 到 8 次 台灣大學資訊工程系資訊系統訓練班 36

37 正規表示法 (6) 整理一下 [abc] a b 或 c [^abc] 非 a b c 的其它字元 [a-za-z] a 到 z 或 A 到 Z( 範圍 ) [a-d[m-p]] a 到 d 或 m 到 p( 聯集 ) [a-z&&[def]] d e 或 f( 交集 ) [a-z&&[^bc]] a 到 z, 除了 b 與 c 之外 ( 減集 ) [a-z&&[^m-p]] a 到 z 且沒有 m 到 p(a-lq-z)( 減集 ) X? X 出現一次或完全沒有 X* X 出現零次或多次 X+ X 出現一次或多次 X{n X 出現 n 次 X{n, X 出現至少 n 次 X{, m X 出現不超過 m 次 X{n, m X 出現至少 n 次, 但不超過 m 次 台灣大學資訊工程系資訊系統訓練班 37

38 正規表示法 (7) 練習 1 [15]0* 10{2, 台灣大學資訊工程系資訊系統訓練班 38

39 正規表示法 (8) 練習 am 2. p43 3. mma 4. qk4 5. bom [k-q].[^4-9] m0 4. s4a 5. mq [^a-k]+[0-9]?. 台灣大學資訊工程系資訊系統訓練班 39

40 正規表示法的應用 (1-1) 日期格式驗證 : 中式寫法 :YYYY-MM-DD ( ) 西式寫法 :MM/DD/YY (12/31/11) 日期格式規則 : 只有數字,1 ~ 4 位數 只有 0~9 / - [0-9] {1,4[\\-/]?[0-9]{1,2[\\-/]?[0-9]{1,4 台灣大學資訊工程系資訊系統訓練班 40

41 正規表示法的應用 (1-2) class CheckDate { public static void main(string[] args) { String input = args[0]; String pattern = " [0-9]{1,4[\\-/]?[0-9]{1,2[\\-/]?[0-9]{1,4"; if (input.matches(pattern)) { System.out.print(" 日期格式正確!"); else { System.out.print(" 你輸入的不是日期!"); 台灣大學資訊工程系資訊系統訓練班 41

42 正規表示法的應用 (2-1) 電子郵件地址格式驗證 : 網域 ( 帳號規則 : 英文 數字 或有. (dot) 或 _ (underscore) 或 - (dash) 網域規則 : 至少要有一個. (dot) 例 csie.org 也有可能有 n 個. 例 mail.ntu.edu.tw 英文 數字 或有. (dot) 或 _ (underscore) 或 - (dash) [^@]+@[a-za-z0-9\\._\\-]+\\.[a-za-z]+ 台灣大學資訊工程系資訊系統訓練班 42

43 正規表示法的應用 (2-2) class Check { public static void main(string[] args) { String input = args[0]; String pattern = "[^@]+@[a-za-z0-9\\._\\-]+\\.[a-za-z]+"; if (input.matches(pattern)) { System.out.print(" 格式正確!"); else { System.out.print(" 你輸入的不是 !"); 台灣大學資訊工程系資訊系統訓練班 43

44 課堂練習 (pt5-3) 電話號碼格式驗證 (PT53.java): 使用正規表示法寫一個能驗證是否符合電話號碼 ( 含行動電話 ) 的程式 手機號碼 : / 一般號碼 :(02) / 電話號碼規則 : 最少大約 6 個號碼 最多呢? 只有 0~9 ( ) - 與空白 台灣大學資訊工程系資訊系統訓練班 44

45 正規表示法的應用 (3-1) 中華民國身分證字號驗證 先講講規則 :A (1) 第 1 個字元代表地區, 轉換方式為 :A 轉換成 1,0 兩個字元,B 轉換成 1,1 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z (2) 第 2 個字元代表性別,1 代表男性,2 代表女性 (3) 第 3 個字元到第九個字元為流水號碼 (4) 第 10 個字元為檢查號碼 台灣大學資訊工程系資訊系統訓練班 45

46 正規表示法的應用 (3-2) 1 每個相對應數字乘上權數 A x8 x7 x6 x5 x4 x3 x2 x1 x1 X9 檢查號碼 9 2. 將乘上權數後之積相加 3. 相加後之值除以模數 10 取其餘數 121 / 10 = 12 餘數 1 4. 由模數減去餘數得檢查號碼, 若餘數為 0 時, 則設定其檢查碼為 = 9 台灣大學資訊工程系資訊系統訓練班 46

47 public class CheckPersonalID { public static void main(string[] args) { boolean check = false; String input = args[0]; if (input.matches("[a-za-z]{1[0-9]{9")) { check = checkpid(input); if (check) { System.out.println(" 身份證字號正確!"); else { System.out.println(" 身份證字號錯誤! 請檢查看看!"); public static boolean checkpid(string input) { // 第一個字母對應的數字表 int[] num = {10, 11, 12, 13, 14, 15, 16, 17, 34, 18, 19, 20, 21, 22, 35, 23, 24, 25, 26, 27, 28, 29, 32, 30, 31, 33; // 把第一個字母轉成大寫 String inputtoupper = input.touppercase(); byte[] idtobyte = inputtoupper.getbytes(); int[] idtocount = new int[idtobyte.length + 1]; // 處理第一個字 int firstchar = num[idtobyte[0] - 65]; idtocount[0] = (int)math.floor(firstchar / 10); idtocount[1] = (firstchar % 10); // 取出第一個字母對應的數字 // 第一個字母的第一個數字 // 第一個字母的第二個數字 // 第一個數字開始及以後的數字 for (int i =1; i < idtobyte.length; i++) { idtocount[i+1] = (idtobyte[i] - 48); // 開始計算總和 int total = idtocount[0]; for (int i = 1; i < idtocount.length - 1; i++) { total += (idtocount[i] * (10 - i)); return (idtocount[idtocount.length - 1] == (10 - (total % 10)))? true : false; 台灣大學資訊工程系資訊系統訓練班 47

48 回家作業 HW5 1. 解密程式 (HW51.java): 設計一個能將 PT52.java 的程式加密過的字串解密回原始字串的解密程式 2. 驗證網址程式 (HW52.java): 請用正規表示法設計一個可以驗證是否為真實網址的程式網址的規則 : 一定是 開頭至少有一個. (dot) 最後一個. 後面的只能為英文字母最後一個. 前面至少有一個字元例 : 進階排序程式 (HW53.java): 請寫一個程式讓使用者可以用自己輸入的 n 個數字做排序用正規表示法檢查使用者輸入的是否是數字並輸出排序後的結果 台灣大學資訊工程系資訊系統訓練班 48

49 繳交回家作業 pt5 ( 課堂練習 ) 與 hw5 ( 回家作業 ) 請一起繳交 把相關 *.java 檔案以 zip 或 rar 壓縮並取名為 學號.zip 或 學號.rar 並附件到 中寄到 : 主旨 :[JAVA245][hw][5] 姓名 收件人 :allan@csie.org Deadline: 下一次上課前 台灣大學資訊工程系資訊系統訓練班 49

JAVA String常用APi

JAVA String常用APi JAVA String 常 用API 2015 年 5 月13 日 星 期 三 ------------------------------------------ String 类 的 特 点 : 字 符 串 对 象 一 旦 被 初 始 化 就 不 会 被 改 变 abc 存 储 在 字 符 串 常 量 池 中 Java 的 核 心 类 包 是 java.lang eclipse:ctrl+ 方

More information

Slide 1

Slide 1 Java 程式設計入門 講師 : 陳昭源 CSIE, NTU August 3, 2005 Outline Character & String Exercise August 3, 2005 Page 2 Character & String 處理字元資料時,Java 有三個類別可供使用 Character: 處理單一字元 String: 處理內容不改變 (immutable) 的字串 StringBuffer:

More information

10_String

10_String 字串 String 字串就是 String 物件, 因此, 宣告一個字串變數時會先指到一個 String 的參照, 再產生一個字串物件 String 類別定義的常用建構方法 Yung-Chen Chou 1 字串 String (Cont.) 字元陣列中索引碼為 3 的元素開始, 取出 4 個元素建構字串 由剛剛建立的字串 b 產生副本 雖然字串 d 和字串 b 的內容一樣, 但卻是不同的物件個體,

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Fortran Algol Pascal Modula-2 BCPL C Simula SmallTalk C++ Ada Java C# C Fortran 5.1 message A B 5.2 1 class Vehicle subclass Car object mycar public class Vehicle extends Object{ public int WheelNum

More information

Microsoft PowerPoint - chap10.ppt

Microsoft PowerPoint - chap10.ppt 第十章 java.lang 套件 資訊科技系 林偉川 包裝器類別可以包裝基本資料型別數值的類別, 這些類別稱為包裝器 (Wrappers( Wrappers) ) 對應基本資料型別的包裝器類別為 :Boolean: Byte Short Character Integer Long Float 和 Double 八個類別 包裝器物件是不可變更的 (immutable( immutable), 物件建立後,

More information

第1章

第1章 第 7 章 字串 1 本章提要 7.1 前言 7.2 類別與物件 7.3 String 類別 7.4 StringBuffer 類別 7.5 綜合練習 7.6 後記 2 7.1 前言 Java 用 String 類別 (Class) 來處理字串, String 類別是 Java 類別庫內建的類別, 它是一堆已經寫好的程式, 我們可以直接拿來使用字串很像字元型別的一維陣列, 字串裡能存放的資料都屬於字元性質,

More information

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1 0 0 = 1 0 = 0 1 = 0 1 1 = 1 1 = 0 0 = 1 : = {0, 1} : 3 (,, ) = + (,, ) = + + (, ) = + (,,, ) = ( + )( + ) + ( + )( + ) + = + = = + + = + = ( + ) + = + ( + ) () = () ( + ) = + + = ( + )( + ) + = = + 0

More information

Microsoft Word - ACL chapter02-5ed.docx

Microsoft Word - ACL chapter02-5ed.docx 第 2 章神奇的質數 2.1.1 什麼是質數 1 1 1 打下好基礎 - 程式設計必修的數學思維與邏輯訓練 1 1 0 10 2 3 5 7 4 6 8 9 10 4 10000 1229 1000 168 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131

More information

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 语 言 程 序 设 计 郑 莉 胡 家 威 编 著 清 华 大 学 逸 夫 图 书 馆 北 京 内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 握 语

More information

C/C++基礎程式設計班

C/C++基礎程式設計班 C/C++ 基礎程式設計 字元與字串 講師 : 張傑帆 CSIE, NTU 人的出身並不重要, 你拿時間來做什麼才重要 It s not who you were at birth that matters, but what you do with the time you are given.-steve Jobs 課程大綱 字元 字串 作業 字元 在電腦的世界裡, 所有的一切都是以 0 與 1

More information

The Embedded computing platform

The Embedded computing platform 嵌入式系統及實驗 Embedded System and Experiment 詹曉龍 長庚大學電機系 Java 的類別與物件 : 宣告類別 建構子 public class Customer { private String name; private String address; // Customer 類別宣告 // 成員資料 public int age; // 建構子 : 使用參數設定成員資料初始值

More information

投影片 1

投影片 1 資料庫管理程式 ( 補充教材 -Part2) 使用 ADO.NET 連結資料庫 ( 自行撰寫程式碼 以實現新增 刪除 修改等功能 ) Private Sub InsertButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InsertButton.Click ' 宣告相關的 Connection

More information

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00 Excel - - Excel - -4-5 840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00 ( 0 ) 智慧標籤 相關說明提示 -5 -- Excel 4 5 6 7 8 + - * / % ^ = < >= & 9 0 (:) (,) ( ) Chapter - :,

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

JavaIO.PDF

JavaIO.PDF O u t p u t S t ream j a v a. i o. O u t p u t S t r e a m w r i t e () f l u s h () c l o s e () public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException

More information

Microsoft Word - 投影片ch12

Microsoft Word - 投影片ch12 Java2 JDK5.0 教學手冊第三版洪維恩編著博碩文化出版書號 pg20210 本章學習目標 學習如何分割檔案 第十二章大型程式的發展與常用的類別庫 認識類別庫, 以及如何取用在不同類別庫裡的類別 建構 package 的階層關係 學習 Java 裡常用的類別庫 大型程式的發展與常用的類別庫 12-2 12.1 檔案的分割 分割檔案的實作 : 1. 依序建立兩個類別檔案, 並置於同一個資料夾內

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

C/C++基礎程式設計班

C/C++基礎程式設計班 C/C++ 基礎程式設計 字元與字串 講師 : 張傑帆 CSIE, NTU 人的出身並不重要, 你拿時間來做什麼才重要 It s not who you were at birth that matters, but what you do with the time you are given.-steve Jobs 課程大綱 字元 字串 作業 字元 在電腦的世界裡, 所有的一切都是以 0 與 1

More information

untitled

untitled 1 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object 參 類 都 object 參 object Boxing 參 boxing

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d =

More information

Java 程式設計初階 第 5 章:基本輸出入 & 流程控制

Java 程式設計初階 第 5 章:基本輸出入 & 流程控制 Java 程式設計 標準輸出入與流程控制 本章大綱 標準輸出入 (Standard I/O) 分支 (Branch) if ~ else switch ~ case 迴圈 (Loop) for while do ~ while 中斷指令 break continue 總整理 標準輸出 定義 : 將資料印到螢幕上 Java 標準輸出指令 System.out.println( 資料 ) 將資料印出後換行

More information

46 2011 11 467 數位遊戲式學習系統 7 2011 11 467 47 3 DBGameSys 48 2011 11 467 正規化資料模組 如何配置並儲存電子化資料 以 便減少資料被重覆儲存的程序 DBGameSys的主要功能模組包 學習者 審核評分模組 含 正規化資料模組 審核評分 模組 高分列表模組3大區塊 系統資料庫 在正規化資料模組的執行 高分列表模組 過程中 先要求學習者瀏覽遊戲

More information

Microsoft PowerPoint - FS720-Ch10.ppt

Microsoft PowerPoint - FS720-Ch10.ppt 第 10 章 字串 (String) 著作權所有 旗標出版股份有限公司 本章重點 10-1 字串的產生 10-2 String 類別的方法 10-3 StringBuffer 與 StringBuilder 類別 10-4 規則表示法 (Regular Expression) 10-5 綜合演練 2 1 10-1 字串的產生 字串其實就是 String 物件, 所以宣告一個字串變數, 就等於是宣告一個指到

More information

Microsoft PowerPoint - VB14.ppt

Microsoft PowerPoint - VB14.ppt VB 列表盒 LISTBOX 應用 資科系 林偉川 執行畫面 1 2 1 重要屬性 LISTBOX 物件 (VB6) 新增至 LISTBOX 物件中 ADDITEM 自 LISTBOX 物件中刪除選取物件 REMOVEITEM 自 LISTBOX 物件中取出選取物件 ListIndex 顯示 LISTBOX 物件中紀錄個數 Listcount 3 LISTBOX 物件 (VB.NET) 重要屬性 新增至

More information

C 語言—陣列及字串

C 語言—陣列及字串 10/16 系程主講人 : 荊輔翔 概論 陣列 陣列是一個具有索引 (index) 性質的連續資料儲存空間集合 陣列中每一個資料儲存空間稱之為陣列元素 (array element); 它們都具有相同的資料名稱 資料型態 及空間大小 ; 但存取它們時則須藉由索引 ( 或稱註標 ) 來區別辨識 索引代表資料在陣列中的相對位址 ( 其計數由 0 開始, 其餘累加類推 ), 且須由中括號 [ ] 涵蓋之

More information

untitled

untitled 1 Outline ArrayList 類 列類 串類 類 類 例 理 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object

More information

運算子多載 Operator Overloading

運算子多載 Operator Overloading 多型 Polymorphism 講師 : 洪安 1 多型 編譯時期多型 ( 靜態多型 ) function overloading 如何正確呼叫同名的函數? 利用參數個數與型態 operator overloading 其實同 function overloading 執行時期多型 ( 或動態多型 ) 如何正確呼叫不同物件的相同名稱的成員函數 利用繼承與多型 2 子類別與父類別物件間的指定 (assignment)

More information

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new ListView 自訂排版 主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new int[]{r.drawable.dog1, R.drawable.dog2,

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2

More information

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, http://debut.cis.nctu.edu.tw/~chi Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, : POSITIVE_INFINITY NEGATIVE_INFINITY

More information

資料結構之C語言重點複習

資料結構之C語言重點複習 鏈結串列自編教材 ( 一 ) 本教材 ( 一 ) 目標問題 : 每次以亂數產生一 [0,1000] 之整數值, 若該值 >100, 則以同方式繼續產生下一亂數值, 若該值

More information

Microsoft Word - ACI chapter00-1ed.docx

Microsoft Word - ACI chapter00-1ed.docx 前言 Excel Excel - v - 財務管理與投資分析 -Excel 建模活用範例集 5 相關 平衡 敏感 - vi - 前言 模擬 If-Then 規劃 ERP BI - vii - 財務管理與投資分析 -Excel 建模活用範例集 ERP + BI + ERP BI Excel 88 Excel 1. Excel Excel 2. Excel 3. Excel - viii - 前言 1.

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

PowerPoint 簡報

PowerPoint 簡報 本周未安排實作輔導 預定 : 下周六 迴圈 LOOP 應用 判斷質數 (Prime number) 求兩個整數的最大公因數 (greatest common divisor, GCD) 判斷迴文 (palindrome) 搶答!! Q1 : 印出結果? int s,x; s=0; for(x=1;x

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 1Z0-854 Title : Java Standard Edition 5 Programmer Certified Professional Upgrade Exam Version : Demo 1 / 12 1.Given: 20. public class CreditCard

More information

96年特種考試第一次司法人員考試試題解答

96年特種考試第一次司法人員考試試題解答 106 年公務人員特種考試警察人員 一般警察人員考試及 106 年特種考試交通事業鐵路人員考試試題 考試別 : 鐵路人員考試 等別 : 員級考試 類科 ( 別 ): 資訊處理 科目 : 程式設計概要 考試時間 :1.5 小時 一 就下列 Java 程式片斷中加入一個 for 迴圈, 使其印出右側結果 (15 分 ) public class AllNumbers number square cube

More information

Excel VBA Excel Visual Basic for Application

Excel VBA  Excel Visual Basic for Application Excel VBA Jun5,00 Sub 分頁 () Dim i As Integer Dim Cname As String Dim Code As Variant Set score=thisworkbook.sheets("sheet") Code=Array(" 專北一 "," 專北二 "," 專北三 "," 專桃園 "," 專桃竹 "," 專中苗 ", " 專台中 "," 專台南 ","

More information

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2 PowerBuilder 9 PowerBuilder Native Interface(PBNI) PowerBuilder 9 PowerBuilder C++ Java PowerBuilder 9 PBNI PowerBuilder Java C++ PowerBuilder NVO / PowerBuilder C/C++ PowerBuilder 9.0 PowerBuilder Native

More information

Microsoft Word - _m30.doc

Microsoft Word - _m30.doc 1 2 3 4 5 6 7 8 公式 2 4 2 1 能 整除 因此後玩 者贏 且關鍵數 字為3 的倍數 3 0 3 1 不能整除 所 以先拿餘數 2 關鍵數字是 4的倍 數 2 先玩者贏 4 0 4 1 能整除 因此 後玩者贏 且 關鍵數字為 5 的倍數 5 0 5 1 不能整除 所 以先拿餘數 2 關鍵 數字是 6的倍 數 2 先玩者贏 7 0 6 1 能整除 因此 後玩者贏 且 關鍵數字為7

More information

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h 資訊系統與實習 製作 : 林郁君 一 2009.09.28 9X9 'button 被按下後 ' Dim i, j As Integer For i = 1 To 9 'i 從 1 到 9' For j = 1 To 9 'j 從 1 到 9' If j * i < 10 Then ' 如果 j 乘上 i 是為個位數 ' Response.Write(i & "*" & j & " =" & i *

More information

Microsoft Word - 投影片ch03

Microsoft Word - 投影片ch03 Java2 JDK5.0 教學手冊第三版洪維恩編著博碩文化出版書號 pg20210 第三章變數與資料型態 本章學習目標認識變數與常數認識 Java 的基本資料型態學習如何進行資料型態轉換學習如何由鍵盤輸入資料 變數與資料型態 3-2 Java 的資料型態分為 : 與 原始資料型態 (primitive type) 非原始資料型態 (non-primitive type) 原始資料型態包括了整數與浮點數等型態

More information

投影片 1

投影片 1 計算機程式及實習 期末報告 題目 : 六宿炒翻天 班級 : 奈米一乙姓名 : 陳洋翼學號 :4A514050 老師 : 謝慶存 程式說明 設計結帳系統, 選擇數量後, 在按下計算, 將會顯示總金額 若是老人或小孩, 將可享 8 折或 9 折的優惠 程式畫面 填選數量 在火腿蛋炒飯的數量選擇 1, 並按下計算, 可得總金額 50 元 程式畫面 打折 填選完後, 若客人是小孩或老人, 選擇欲打折項目,

More information

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp 01 1.6 Spyder Anaconda Spyder Python Spyder Python Spyder Spyder 1.6.1 Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Spyder Python File

More information

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e Android Studio Debugging 本篇教學除了最基本的中斷點教學之外, 還有條件式中斷的教學 條件式中斷是進階的除錯技巧, 在某些特定情況中, 我們有一個函數可能會被呼叫數次, 但是我們只希望在某種條件成立時才進行中斷, 進而觀察變數的狀態 而條件式中斷這項技巧正是符合這項需求 本教學分兩部分 單步除錯 (Page2~11, 共 10) 條件式中斷點 (Page12~17, 共 6)

More information

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 JAVA 程 序 设 计 ( 肆 ) 徐 东 / 数 学 系 使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 使 用 Java class 代 表 保 险 箱 public class SaveBox 类 名 类 类 体 实 现 封 装 性 使 用 class SaveBox 代 表 保

More information

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2 Chapter 02 變數與運算式 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.2 2.2.1 2.2.2 2.2.3 type 2.2.4 2.3 2.3.1 print 2.3.2 input 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 + 2.4.6 Python Python 2.1 2.1.1 a p p l e b e a r c 65438790

More information

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6: Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed

More information

chp6.ppt

chp6.ppt Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行

More information

javaexample-02.pdf

javaexample-02.pdf n e w. s t a t i c s t a t i c 3 1 3 2 p u b l i c p r i v a t e p r o t e c t e d j a v a. l a n g. O b j e c t O b j e c t Rect R e c t x 1 y 1 x 2 y 2 R e c t t o S t r i n g ( ) j a v a. l a n g. O

More information

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class 踩地雷遊戲 高慧君南港高中 開啟專案 MineSweep 任務一 : 產生 30X20 個磚塊編輯 Table 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.util.arraylist; Write a description of class MyWorld

More information

Java 大师之路

Java 大师之路 方 林 2008 年 12 月 序 如 何 成 为 一 名 Java 程 序 设 计 的 专 家 和 大 师 呢? 这 是 困 扰 程 序 员 软 件 工 程 师 和 资 深 软 件 工 程 师 的 一 大 难 题 很 多 毕 业 5 6 年 的 软 件 工 程 师 在 有 了 一 定 的 Java 程 序 设 计 经 验 和 动 手 能 力 之 后, 往 往 会 遇 到 相 当 长 一 段 时 间

More information

[剑指offer] 面试题43:n个骰子的点数(Java),[剑指offer] 面试题42: 翻转单词顺序 VS左旋转字符串(Java),[剑指offer] 面试题41:和为s的两个数字VS和为s的连续序列

[剑指offer] 面试题43:n个骰子的点数(Java),[剑指offer] 面试题42: 翻转单词顺序 VS左旋转字符串(Java),[剑指offer] 面试题41:和为s的两个数字VS和为s的连续序列 [ 剑 指 offer] 面 试 题 43:n 个 骰 子 的 点 数 (Java) 题 目 : 把 n 个 骰 子 扔 在 地 上, 所 有 骰 子 朝 上 一 面 的 点 数 之 和 为 S 输 入 n, 打 印 出 S 的 所 有 可 能 的 值 出 现 的 概 率 分 析 : 一 般 来 说 骰 子 只 有 6 面, 点 数 为 1~6, n 个 骰 故 子 的 最 小 和 为 n, 最 大

More information

C/C++语言 - C/C++数据

C/C++语言 - C/C++数据 C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;

More information

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class

More information

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题 2009 年 3 月 全 国 计 算 机 等 级 考 试 笔 试 试 卷 二 级 Java 语 言 程 序 设 计 ( 考 试 时 间 90 分 钟, 满 分 100 分 ) 一 选 择 题 ( 每 题 2 分, 共 70 分 ) 下 列 各 题 A) B) C) D) 四 个 选 项 中, 只 有 一 个 选 项 是 正 确 的 请 将 正 确 选 项 填 涂 在 答 题 卡 相 应 位 置 上,

More information

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 專題進度 老師 : 趙啟時老師 學生 : 陳建廷 2013/10/13 用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 程式碼 : package com.example.phone; import java.util.arraylist;

More information

Microsoft PowerPoint - VB5

Microsoft PowerPoint - VB5 Visual Basic 6.0 (V) & VB.NET 丙檢試題第二站第一題身分證號碼 資科系林偉川 第二站試題 BASIC 應用程式設計 編號試題名稱 119-890306 身分證號碼檢查 119-890307 高速公路車輛統計 119-890308 分數加 減 乘 除運算 三選一 (80 分鐘 ) 2 1 VB6 第二站第一題身分證號碼 由循序檔讀入多筆記錄 Frame 物件 母件 單一物件

More information

Microsoft Word - 第6章.doc

Microsoft Word - 第6章.doc 100 第 6 章 继 承 第 6 章 继 承 继 承 是 面 向 对 象 编 程 的 重 要 特 征 之 一 顾 名 思 义, 继 承 就 是 在 现 有 类 的 基 础 上 构 建 新 类 以 满 足 新 的 要 求 在 继 承 过 程 中, 新 的 类 继 承 原 来 的 方 法 和 实 例 变 量, 并 且 能 添 加 自 己 的 方 法 和 实 例 变 量 在 本 章 中 主 要 讲 解

More information

第3章.doc

第3章.doc 3 3 3 3.1 3 IT Trend C++ Java SAP Advantech ERPCRM C++ C++ Synopsys C++ NEC C C++PHP C++Java C++Java VIA C++ 3COM C++ SPSS C++ Sybase C++LinuxUNIX Motorola C++ IBM C++Java Oracle Java HP C++ C++ Yahoo

More information

Java 程式設計入門

Java 程式設計入門 Java 程式設計入門 講師 : 陳昭源 CISE, NTU August 28, 2005 Outline 變數 Variables 運算子 Operators 運算式 (Expressions) 敘述(Statements) & 程式區塊 (Blocks) 流程控制 Control Flow Statements if-else statements switch statements August

More information

untitled

untitled 1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart

More information

( )... 5 ( ) ( )

( )... 5 ( ) ( ) 2016 大學校院招收大陸地區學生聯合招生委員會 71005 臺南市永康區南臺街 1 號 E-mail:rusen@stust.edu.tw WEB:http://rusen.stust.edu.tw TEL:+886-6-2435163 FAX:+886-6-2435165 2 0 1 6 0 1 1 9 2016... 2... 3... 5 ( )... 5 ( )... 5 1... 6 2...

More information

Microsoft Word - sy09_实验09_字符串和文本IO.docx

Microsoft Word - sy09_实验09_字符串和文本IO.docx 面向对象程序设计 (Java) 课程实验 第 9 章字符串和文本 I/O 9.1 找出回文串检测一个字符串是否是回文串 : 从前向后和从后向前读都是同一个字符串的字符串 public class CheckPalindrome { // Create a Scanner Scanner input = new Scanner(System.in); // Prompt the user to enter

More information

全国计算机技术与软件专业技术资格(水平)考试

全国计算机技术与软件专业技术资格(水平)考试 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2008 年 上 半 年 程 序 员 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 ) 试 题 一 ( 共 15 分 ) 阅 读 以 下 说 明 和 流 程 图, 填 补 流 程 图 中 的 空 缺 (1)~(9), 将 解 答 填 入 答 题 纸 的 对 应 栏 内 [ 说 明

More information

Microsoft Word - JAVA Programming Language Homework VI_ans.doc

Microsoft Word - JAVA Programming Language Homework VI_ans.doc JAVA Programming Language Homework VI: Threads & I/O ID: Name: 1. When comparing java.io.bufferedwriter to java.io.filewriter, which capability exists as a method in only one of the two? A. Closing the

More information

C/C++基礎程式設計班

C/C++基礎程式設計班 C/C++ 基礎程式設計 C++: 物件的使用 參考 重載函式 成就別人認為不可能的事 Do what nobody else considered possible. -Steve Jobs 講師 : 張傑帆 CSIE NTU C++ 相較於 C 的特色 向下相容 在 C 語言中, 我們學了許多程式語法, 所有學過的東西, 在 C++ 中都可以使用 高階的程式描述方式 更利於用來開發大型專案, 讓程式設計師在分工時更能快速的開發程式,

More information

untitled

untitled 1 7 7.1 7.2 7.3 7.4 7.5 2 7.1 VFT virtual 7.1 3 1 1. 2. public protected public 3. VFT 4. this const volatile 4 2 5. ( ) ( ) 7.1 6. no-static virtual 7.2 7. inline 7.3 5 3 8. this this 9. ( ) ( ) delete

More information

Microsoft Word - 附錄一.doc

Microsoft Word - 附錄一.doc 附 錄 一 : 深 度 訪 談 完 整 資 料 電 台 深 度 訪 談 記 錄 ( 一 ) 訪 談 對 象 : 中 央 廣 播 電 台 節 目 導 播 兼 記 者 王 一 喚 訪 談 時 間 :2005.10.31 李 : 請 問 您 從 事 傳 播 行 業 有 多 久 了? 先 後 從 事 過 哪 些 工 作? 王 :1987 年 進 來 央 廣, 進 來 幫 忙 翻 譯 做 節 目 李 : 那

More information

1 1 Excel VBA 說明 ( ) (_) STEP4 Excel 2 STEP5 A1 1 B2 2 C3 3 STEP6 A1 STEP7 > > 1-11

1 1 Excel VBA 說明 ( ) (_) STEP4 Excel 2 STEP5 A1 1 B2 2 C3 3 STEP6 A1 STEP7 > > 1-11 1-3 1-3-1 Excel VBA VBA OK CD DVD Excel VBA Excel VBA Excel Visual Basic A1 1 B2 2 C3 3 STEP1 Excel Ch01_VBA.xlsm 1 > > STEP2 Excel 1 2 STEP3 1-10 1 1 Excel VBA 說明 ( ) (_) STEP4 Excel 2 STEP5 A1 1 B2 2

More information

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 导 你 搭 建 Linux 平 台 下 的 JAVA 开 发 环 境, 包 括 JDK 以 及 集

More information

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj Message Transition 5-1 5-2 DataInputStream Class 5-3 DataOutputStream Class 5-4 PrintStream Class 5-5 (Message Transition) (Exercises) Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

一、

一、 考試時間 : 1 小時 30 分座號 : 全五頁第一頁 注意 : 禁止使用電子計算器 不必抄題, 作答時請將試題題號及答案依照順序寫在試卷上, 於本試題上作答者, 不予計分 一 就下列 Java 程式片斷中加入一個 for 迴圈, 使其印出右側結果 (15 分 ) public class AllNumbers number square cube 0 0 0 public static void

More information

Java 1 Java String Date

Java 1 Java String Date JAVA SCJP Java 1 Java String Date 1Java 01 Java Java 1995 Java Java 21 Java Java 5 1-1 Java Java 1990 12 Patrick Naughton C++ C (Application Programming Interface API Library) Patrick Naughton NeXT Stealth

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 9 [P.11] : Dev C++ [P.12] : http://c.feis.tw [P.13] [P.14] [P.15] [P.17] [P.23] Dev C++ [P.24] [P.27] [P.34] C / C++ [P.35] 10 C / C++ C C++ C C++ C++ C ( ) C++

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

More information

C/C++语言 - 分支结构

C/C++语言 - 分支结构 C/C++ Table of contents 1. if 2. if else 3. 4. 5. 6. continue break 7. switch 1 if if i // colddays.c: # include int main ( void ) { const int FREEZING = 0; float temperature ; int cold_ days

More information

untitled

untitled 4.1AOP AOP Aspect-oriented programming AOP 來說 AOP 令 理 Cross-cutting concerns Aspect Weave 理 Spring AOP 來 AOP 念 4.1.1 理 AOP AOP 見 例 來 例 錄 Logging 錄 便 來 例 行 留 錄 import java.util.logging.*; public class HelloSpeaker

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN:978-7-302-13599-9, 红色封面 答案制作时间 :2011 年 2 月 -5 月 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p=&a 2. 设已定义 int x,*p=&x;, 则下列表达式中错误的是 :B)&*x 3. 若已定义 int a=1,*b=&a;,

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

AutoCAD 用戶如何使用 ArchiCAD

AutoCAD 用戶如何使用 ArchiCAD AutoCAD 用戶如何使用 ArchiCAD AutoCAD用戶如何使用ArchiCAD ( 中文版 ) 由 Scott MacKenzie, Simon Gilbert, Geoffrey Moore Langdon, David Byrnes, Ralph Grabowski 編寫 龍庭資訊有限公司 1/73 - 2. 3. 4. -

More information

Microsoft PowerPoint - vb_net8

Microsoft PowerPoint - vb_net8 字串與陣列 資訊科技系 林偉川 一維陣列的處理 陣列 (Array) 是一種基本的資料結構, 它是將相同資料型別的變數集合起來, 使用一個名稱代表, 然後使用索引值存取變數的值, 如下圖所示 : 2 1 宣告一維陣列 - 宣告 VB.NET 陣列同樣使用 Dim 指令宣告, 我們可以在宣告時同時指定陣列的尺寸, 一維陣列的宣告語法, 如下所示 : Dim 陣列名稱 ( 最大索引 ) As 資料型別

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

第四單元 運算式與流程控制 單元目標 當完成本單元後, 你將能學習到 : 認識 Java 基本資料型態使用基本資料型態與參考資料型態使用 String 類別與 StringBuffer 類別利用 Java 運算子建構算術運算式與邏輯運算式描述轉型 (casting) 與晉升 (promotion)

第四單元 運算式與流程控制 單元目標 當完成本單元後, 你將能學習到 : 認識 Java 基本資料型態使用基本資料型態與參考資料型態使用 String 類別與 StringBuffer 類別利用 Java 運算子建構算術運算式與邏輯運算式描述轉型 (casting) 與晉升 (promotion) 從 Visual Basic 到 Java 完全手冊 昇陽電腦教育訓練中心著 第四單元 運算式與流程控制 單元目標 當完成本單元後, 你將能學習到 : 認識 Java 基本資料型態使用基本資料型態與參考資料型態使用 String 類別與 StringBuffer 類別利用 Java 運算子建構算術運算式與邏輯運算式描述轉型 (casting) 與晉升 (promotion) 的使用原則使用 if switch

More information

Microsoft Word - ch04三校.doc

Microsoft Word - ch04三校.doc 4-1 4-1-1 (Object) (State) (Behavior) ( ) ( ) ( method) ( properties) ( functions) 4-2 4-1-2 (Message) ( ) ( ) ( ) A B A ( ) ( ) ( YourCar) ( changegear) ( lowergear) 4-1-3 (Class) (Blueprint) 4-3 changegear

More information

D C 93 2

D C 93 2 D9223468 3C 93 2 Java Java -- Java UML Java API UML MVC Eclipse API JavadocUML Omendo PSPPersonal Software Programming [6] 56 8 2587 56% Java 1 epaper(2005 ) Java C C (function) C (reusability) eat(chess1,

More information

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F 1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET 2.0 2.0.NET Framework.NET Framework 2.0 ( 3).NET Framework 2.0.NET Framework ( System ) o o o o o o Boxing UnBoxing() o

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i;

More information

SB 綱 領 : (1) 消 防 服 務 管 制 人 員 : 就 年 度 需 要 特 別 留 意 的 事 項 中, 當 局 提 到 年 度 內, 消 防 處 會 啟 用 啟 德 新 建 並 設 有 救 護 設 施 的 消 防 局, 請 告 知 有 關

SB 綱 領 : (1) 消 防 服 務 管 制 人 員 : 就 年 度 需 要 特 別 留 意 的 事 項 中, 當 局 提 到 年 度 內, 消 防 處 會 啟 用 啟 德 新 建 並 設 有 救 護 設 施 的 消 防 局, 請 告 知 有 關 SB233 4865 綱 領 : (3) 救 護 服 務 管 制 人 員 : 處 方 表 示, 在 2013-14 年 度 會 啟 用 救 護 信 息 宣 傳 車, 以 繼 續 加 強 宣 傳 教 育 市 民 適 當 地 使 用 緊 急 救 護 服 務, 其 詳 情 及 為 何? 提 問 人 : 陳 家 洛 議 員 救 護 信 息 宣 傳 車 於 2013 年 年 初 投 入 服 務, 消 防 處

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i; double d; 数据 (Fields) char c; void set(double

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc 2 5 8 11 0 1. 13 2. 15 3. 18 1 1. 22 2. 25 3. 27 2 1. 35 2. 38 3. 41 4. 43 5. 48 6. 50 3 1. 56 2. 59 3. 63 4. 65 5. 69 13 22 35 56 6. 74 7. 82 8. 84 9. 87 10. 97 11. 102 12. 107 13. 111 4 114 1. 114 2.

More information

, 即 使 是 在 昏 暗 的 灯 光 下, 她 仍 然 可 以 那 么 耀 眼 我 没 有 地 方 去, 你 会 带 着 我 么 杜 晗 像 是 在 嘲 笑 一 般, 嘴 角 的 一 抹 冷 笑 有 着 不 适 合 这 个 年 龄 的 冷 酷 和 无 情, 看 着 江 华 的 眼 神 毫 无 温

, 即 使 是 在 昏 暗 的 灯 光 下, 她 仍 然 可 以 那 么 耀 眼 我 没 有 地 方 去, 你 会 带 着 我 么 杜 晗 像 是 在 嘲 笑 一 般, 嘴 角 的 一 抹 冷 笑 有 着 不 适 合 这 个 年 龄 的 冷 酷 和 无 情, 看 着 江 华 的 眼 神 毫 无 温 爱 情 飞 过 苍 凉 / 作 者 :18758265241 1 红 色 格 子 的 旅 行 箱, 在 湿 漉 漉 地 上 发 出 刺 啦 刺 啦 的 声 音, 那 么 刺 耳, 就 像 是 此 刻 杜 晗 的 里 一 样, 烦 躁 而 不 安 就 这 样 走 出 来 了,18 年 禁 锢 自 己 的 地 方 就 在 身 后, 杜 晗 手 指 关 节 泛 白, 紧 紧 地 拉 着 旅 行 箱, 走

More information