
TQC+ 物件導向程式語言 Java 6 410 遞迴字串替換
題目說明:
請開啟檔案 JPD04.java,依下列題意完成作答。將 JPD04.java 內的 class JPD04 修改為 class JPA04,檔案另存成 JPA04.java,並編譯為 JPA04.class。
設計說明:
(1) 請使用遞迴撰寫一個類別方法,此方法能夠將一個字串內的某個字元換成另一個字元。例如輸入字串【windows】,將字串中 w 值替換成 g 值,輸出字串為【gindogs】。
(2) 程式執行時,顯示【Input a string: 】要求輸入字串,接續顯示【Input a character: 】要求輸入「被替換」的字元,最後顯示【Input another character: 】要求輸入替換字元。
(3) 請利用 replace() 函數進行字串替換,顯示如執行結果參考畫面。
執行結果參考畫面:

程式碼:
import java.util.Scanner;
public class JPA04 {
static Scanner keyboard = new Scanner(System.in);
public static void main(String args[]) {
String s, c1, c2;
System.out.print("Input a string: ");
s = keyboard.nextLine();
System.out.print("Input a character: ");
c1 = keyboard.nextLine();
System.out.print("Input another character: ");
c2 = keyboard.nextLine();
System.out.printf("%s\n", replace(s, c1, c2));
}
static String replace(String str, String c1, String c2) {
if(str.equals(""))
return "";
else if(str.substring(0, 1).equals(c1))
return c2 + replace(str.substring(1), c1, c2);
return str.substring(0, 1) + replace(str.substring(1), c1, c2);
}
}
TQC+ 物件導向程式語言 Java 6 第四類:遞迴程式設計
如果覺得文章內容還不錯的話,麻煩請幫我點個讚!感謝
可以多點幾次喔~~
第一次點讚需使用 Google 或 Facebook 帳號註冊

