返回列表 發帖

[3/18複習]

TQC+ 402
題目說明:
請將檔案另存成JPA04.java,並編譯為JPA04.class
設計說明:
1.請寫一個程式持續輸入一個數n,使用遞迴計算n的階乘,直到n輸入的數值是999為止。
2.程式執行時,顯示[Input n(0<=n<=16):]要求輸入數值。
3.顯示如執行結果參考畫面。
  1. import java.util.Scanner;
  2. public class JPD04 {
  3.     static Scanner keyboard = new Scanner(System.in);
  4.     public static void main(String args[]) {
  5.         
  6.     ...



  7.     }
  8.    
  9.    
  10.     ...






  11. }
複製代碼
【尾端遞迴的定義】
在電腦科學裡,尾呼叫是指一個函數裡的最後一個動作是一個函式呼叫的情形:即這個呼叫的返回值直接被當前函式返回的情形。這種情形下稱該呼叫位置為尾位置。若這個函式在尾位置呼叫本身(或是一個尾呼叫本身的其他函式等等),則稱這種情況為尾端遞迴,是遞迴的一種特殊情形。
尾呼叫的重要性在於它可以不在呼叫棧上面添加一個新的堆疊框—而是更新它,如同疊代一般。尾端遞迴因而具有兩個特徵:
1.呼叫自身函式(Self-called)
2.計算僅占用常量棧空間(Stack Space)
因此,形式上只要是最後一個return語句返回的是一個完整函式,它就是尾端遞迴。

TQC+ 404
題目說明:
請將檔案另存成JPA04.java,並編譯為JPA04.class
設計說明:
1.請寫一個程式持續輸入兩個數m、n,使用遞迴計算m與n的最大公因數,直到m輸入的數值是999為止。
2.程式執行時,顯示[Input m:]要求輸入m:輸入完畢,於下方顯示[Input n:]要求輸入n。
3.顯示如執行結果參考畫面。
  1. import java.util.Scanner;
  2. public class JPD04 {
  3.     static Scanner keyboard = new Scanner(System.in);
  4.     public static void main(String args[]) {
  5.         
  6.       ...


  7.     }
  8.    
  9.     ...
  10. }
複製代碼
TQC+ 406

題目說明:
請將檔案另存成JPA04.java,並編譯為JPA04.class
設計說明:
1.請使用遞迴撰寫一個類別方法,可計算一個字串內有幾個A,大小寫有所區別。
2.程式執行時,顯示[Input a string: ]要求輸入字串。
3.連續執行兩次,如執行結果參考畫面,顯示[輸入的字串 has X As]。將計算此字串內有幾個A,代入X中
  1. import java.util.Scanner;
  2. public class JPD04 {
  3.     static Scanner keyboard = new Scanner(System.in);
  4.     public static void main(String args[]) {
  5.       
  6.       ...

  7.     }
  8.    
  9.     public static int countA(String str) {
  10.          
  11.       ...

  12.       }
  13. }
複製代碼
TQC+ 408
題目說明:
請將檔案另存成JPA04.java,並編譯為JPA04.class
設計說明:
1.請使用遞迴設計一個類別方法,此方法能夠將字串反向。
2.程式執行時,顯示[Input a string: ]要求輸入字串。
3.連續執行兩次,如執行結果參考畫面將字串反向印出。
  1. import java.util.Scanner;
  2. public class JPD04 {
  3.     static Scanner keyboard = new Scanner(System.in);
  4.     public static void main(String args[]) {
  5.         String s, c;
  6.         System.out.print("Input a string: ");
  7.         s = keyboard.nextLine();
  8.         System.out.printf("%s\n", reverse(s));
  9.         System.out.print("Input a string: ");
  10.         s = keyboard.nextLine();
  11.         System.out.printf("%s\n", reverse(s));
  12.     }
  13.    
  14.     ...
  15. }
  16. /*
  17.      reverse("hello")
  18.      =reverse("ello")+"h"
  19.      =reverse("llo")+"e"+"h"
  20.      =reverse("lo")+"l"+"e"+"h"
  21.      =reverse("o")+"l"+"l"+"e"+"h"
  22.      =reverse("")+"o"+"l"+"l"+"e"+"h"
  23.      =""+"o"+"l"+"l"+"e"+"h"
  24.      ="olleh"
  25. */
複製代碼
TQC+ 410

題目說明:
請將檔案另存成JPA04.java,並編譯為JPA04.class
設計說明:
1.請使用遞迴設計一個類別方法,此方法能夠將一個字串內的某個字元換成另一個字元。例如輸入字串[windows],將字串中的w值替換成g值,輸出字串為[gindogs]。
2.程式執行時,顯示[Input a string: ]要求輸入字串,接續顯示[Input a character: ] 要求輸入[被替換]的字元,最後顯示[Input another character: ]要求輸入替換字元。
3.請利用replace()函數進行字串替換,顯示如執行結果參考畫面。
  1. import java.util.Scanner;
  2. public class JPD04 {
  3.     static Scanner keyboard = new Scanner(System.in);
  4.     public static void main(String args[]) {
  5.         String s, c1, c2;
  6.         System.out.print("Input a string: ");
  7.         s = keyboard.nextLine();
  8.         System.out.print("Input a character: ");
  9.         c1 = keyboard.nextLine();
  10.         System.out.print("Input another character: ");
  11.         c2 = keyboard.nextLine();
  12.         System.out.printf("%s\n", replace(s, c1, c2));
  13.     }
  14.    
  15.     ...
  16. }
複製代碼
/*
    replace("windows","w","g")
    ="g"+replace("indows","w","g")
    ="g"+"i"+replace("ndows","w","g")
    ="g"+"i"+"n"+replace("dows","w","g")
    ="g"+"i"+"n"+"d"+replace("ows","w","g")
    ="g"+"i"+"n"+"d"+"o"+replace("ws","w","g")
    ="g"+"i"+"n"+"d"+"o"+"g"+replace("s","w","g")
    ="g"+"i"+"n"+"d"+"o"+"g"+"s"+replace("","w","g")
    ="g"+"i"+"n"+"d"+"o"+"g"+"s"+""
    =gindogs
*/
istak.teach2@gmail.com

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

返回列表