Java 進階教學 : 使用 String 及 StringBuilder 處理文字

JavaRoad JavaRoad



好的頻道需要你的支持,謝謝你使用Youtube影片的超級感謝功能給我們鼓勵。




好的頻道需要你的支持,謝謝你使用Youtube影片的超級感謝功能給我們鼓勵。

  1. String
    • 字面值
    • 每一個不一樣的字面值就是一個 String 物件
      • 樣式
      • 記憶體配置
      • 每一個字面值物件都會配置在 String constant pool
    • 不可變動性
    • 建構方法
    • 用下列這兩個建構方法建立 String 物件,是浪費記憶體空間
      • new String()
      • new String(String original)
    • 可以用 '+' 串聯 String 物件
    • 每一次串聯都是建立新物件
    • 常用方法介紹
    • methodType variable = reference.methodName(value);
    • String 物件的比對
  2. StringBuilder
    • 建構方法
      • new StringBuilder()
      • new StringBuilder(int capacity)
      • new StringBuilder(String s)
    • 常用方法介紹
    • StringBuilder 物件的比對
  3. 範例一 字元樣式統計
  4. 接收輸入下列文字:
    For additional information on string concatenation and conversion, see Gosling, Joy, and Steele, The Java Language Specification.A String represents a string in the UTF-16 format in which supplementary characters are represented by surrogate pairs (see the section Unicode Character Representations in the Character class for more information). Index values refer to char code units, so a supplementary character uses two positions in a String.
    分別統計出大寫字母, 小寫字母, 數字, 空格及其他符號各有幾個.
    例:
    大寫: 1 個
    小寫: 2 個
    數字: 3 個
    空格:  4 個
    其他符號: 5 個

  5. 範例二 員工編號格式檢測
  6. 接收輸入員工編號,檢查格式是否符合下列規則:
    * 長度為 8
    * 第一個字元為 E
    * 第四個字元為 A, B 或 C
    * 其餘字元為數字
    若格式正確,輸出正確,否則輸出錯誤。

  7. 範例三 網址格式檢測
  8. 接收輸入網址,針對開頭與結尾做檢查:
    開頭 : 若開頭為 http:// 或 https:// 不變動,否則在最前面加上 : https://
    結尾 : 若結尾是副檔名(.htm, .html, .xml, .pdf, .exe, .zip.....)不變動,否則會在最後面串上 : /index.html
    輸出修正後的網址。

    例 1 
    輸入 : https://www.google.com/abc/def.html
    輸出 : https://www.google.com/abc/def.html

    例 2 
    輸入 : www.google.com/abc/def.html
    輸出 : https://www.google.com/abc/def.html

    例 3
    輸入 : https://www.google.com/abc
    輸出 : https://www.google.com/abc/index.html

    例 4
    輸入 : https://www.google.com
    輸出 : https://www.google.com/index.html

  9. 範例四 E-mail 格式檢測
  10. 接受輸入 E-mail,檢查輸入的位址是否符合下列格式:
    * 位址最長128個字元。
    * 位址中必須至少要一個,最多也只能有一個 @ 符號。
    * @符號前面除了大、小寫英文字母與數字之外,只接受 '.' 及 '-' 這兩種符號。
    * @符號後面除了大、小寫英文字母與數字之外,只接受 '.'這一個符號。
    * @符號前後的文字的 . 符號,不可以是該段文字中的第一個或最後一個字元,也不可以兩個 . 連續出現
    * 所有大寫英文字母會自動轉換成小寫字母。
    若格式正確,輸出正確的 E-mail 位址,否則輸出錯誤。

  11. 範例五 身份證字號檢測
  12. 接收輸入一個身份證字號,檢查是否符合下列規則:
    * 共十個字元
    * 第一個字元必須是大寫英文字母。
    * 第二個字元必須是 1 或 2。
    * 第三個字元至第十個字元必須是數字字元。
    * 第一個英文字元依照下方英文字母數字代號表來格取得數字代號。
    * 用數字代號取代原英文字母,得到一個 11 位數之數字。
    * 將 11 位數的數字拆開成 11 個數字,並分別乘以
     1,9,8,7,6,5,4,3,2,1,1。
    * 將上述步驟得到的相乘後的 11 個數字相加。
    * 若上述步驟得到的加總後的數字是 10 的倍數,即為正確的身份證字號
    若格式正確,輸出正確,否則輸出錯誤。

英文字母數字代號表


英文字母
數字代號
10
11
12
13
14
15
16
17
18
19
英文字母
數字代號
20
21
22
23
24
25
26
27
28
29
英文字母
數字代號
30
31
32
33
34
35
PS 請注意順序並非完全依照英文字母順序。

作者 : 許裕永

許老師的回答: