阿摩線上測驗 登入

申論題資訊

試卷:109年 - 109 合作金庫商業銀行新進人員甄試試題_開放系統第一類程式設計人員_專業科目:(1)程式設計(以 JAVA、SQL 語言為主);(2)系統分析;(3)資料結構及資料庫應用#106966
科目:程式設計(以 JAVA、SQL 語言為主)、系統分析、資料結構及資料庫應用
年份:109年
排序:0

申論題內容

第一題: 
設計一 Java 程式其滿足下列功能:【25 分】
 ● 宣告一字串 str 為 I am a teacher! 
● 宣告一字串 repstr 為 teacher 
● 宣告一字串 newstr 為 professor 
● 先輸出原始字串內容 str 
● 必須以迴圈指令自字串 str 中找到字串 repstr 並代換成字串 newstr 後重新輸出 
● 螢幕輸出範例如下:
6232eeb6bb52c.jpg

詳解 (共 2 筆)

詳解 提供者:aa20000326

題目不是說要利用迴圈去取代字串嗎

樓上這個寫法是不是算偷吃步
感覺變得迴圈多餘了,還要靠break出來
不知道會不會給分

詳解 提供者:god Manto

662cc2f767633.jpgpublic class StringReplacement {
    public static void main(String[] args) {
        // 宣告原始字串
        String str = "I am a teacher!";
        
        // 宣告要替換的字串和新字串
        String repstr = "teacher";
        String newstr = "professor";
        
        // 輸出原始字串內容
        System.out.println("原始字串內容:");
        System.out.println(str);
        
        // 使用 for 迴圈進行字串替換
        // 建立 StringBuilder 物件,用於動態建立新的字串
        StringBuilder sb = new StringBuilder();
        // 初始化起始索引為 0,用於指示開始尋找 repstr 的位置
        int start = 0;
        // 宣告一個整數變數 index 用於保存找到的 repstr 的索引位置
        int index;
        // 使用 while 迴圈尋找 repstr 在原始字串中的位置,直到找不到為止
        while ((index = str.indexOf(repstr, start)) != -1) {
            // 將原始字串中 start 到 index 之間的子字串加入到 StringBuilder 中
            sb.append(str, start, index)
            // 將新字串 newstr 加入到 StringBuilder 中
            .append(newstr);
            // 更新起始索引為找到的 repstr 的索引位置 + repstr 長度,用於下一次尋找
            start = index + repstr.length();
        }
        // 將剩餘部分(即最後一次找到 repstr 後到字串結束的部分)加入到 StringBuilder 中
        sb.append(str.substring(start));
        
        // 輸出取代後的新內容
        System.out.println("取代後的新內容:");
        System.out.println(sb.toString());
    }
}