iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0
Mobile Development

Kotlin and Java 開發 Android APP 學習系列 第 13

TQC+ 物件導向程式語言Java 105 字串索引

  • 分享至 

  • xImage
  •  

105 字串索引

import java.util.Scanner;

public class JPA05 {

    public static void main(String[] args) {
        // 英文短文常數
        String dreams = "There are moments in life when you miss someone so much that "
                + "you just want to pick them from your dreams and hug them for real! Dream what "
                + "you want to dream;go where you want to go;be what you want to be,because you have "
                + "only one life and one chance to do all the things you want to do";
        
        Scanner sc = new Scanner(System.in);
        // 輸入要搜尋的單字
        String search = sc.nextLine();
        sc.close();
        
        // 取得單字的第一個位置和最後一個位置
        int first = dreams.indexOf(search);
        int last = dreams.lastIndexOf(search);
        String result = "";
        
        if (first == -1) {
            // 如果單字不存在,設為 0 並顯示空字串
            first = 0;
            last = 0;
        } else if (first == last) {
            // 如果單字只出現一次,擷取從該單字開始到結尾的字串
            result = dreams.substring(first);
            first += 1;  // 索引加 1
            last = 0;    // 只有一個位置,last 設為 0
        } else {
            // 擷取兩個位置之間的字串
            result = dreams.substring(first, last + search.length());
            first += 1;  // 索引加 1
            last += 1;   // 索引加 1
        }

        // 輸出結果
        System.out.println("first:" + first);
        System.out.println("last:" + last);
        System.out.print("capture:" + result);
    }
}
1. 假設單字不存在 (indexOf 返回 -1),則將 first 和 last 設為 0 並返回空字串。
2. 單字若只出現一次 (first == last),則擷取從該單字開始到字串結尾的內容,並將 last 設為 0。
3. 單字若多次出現,則擷取兩個位置之間的字串,包含第一個位置的單字。

參考資料:
TQC+ 物件導向程式語言 Java 17


上一篇
TQC+ 物件導向程式語言Java 104 距離計算
下一篇
TQC+ Java6 基本認識 106 數學函數
系列文
Kotlin and Java 開發 Android APP 學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言