Board logo

標題: [3/18複習] [打印本頁]

作者: 李泳霖    時間: 2023-3-18 08:11     標題: [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
*/
作者: 許晏睿    時間: 2023-3-18 16:17

此帖僅作者可見
作者: 上官語恬    時間: 2023-3-18 16:18

此帖僅作者可見
作者: 周桓宇    時間: 2023-3-18 16:28

此帖僅作者可見
作者: 陳駿彥    時間: 2023-3-18 16:30

此帖僅作者可見
作者: 黃昱齊    時間: 2023-3-18 16:30

此帖僅作者可見
作者: 陳佑俊    時間: 2023-3-18 16:32

此帖僅作者可見
作者: 張博翔    時間: 2023-3-18 16:34

此帖僅作者可見
作者: 王競儀    時間: 2023-3-18 16:34

此帖僅作者可見
作者: 江家同    時間: 2023-3-18 16:34

此帖僅作者可見
作者: 蔡秉勛    時間: 2023-3-18 16:34

此帖僅作者可見
作者: 顏立人    時間: 2023-3-18 16:34

此帖僅作者可見
作者: 許晏睿    時間: 2023-3-18 16:35

此帖僅作者可見
作者: 富溢    時間: 2023-3-18 16:36

此帖僅作者可見
作者: 陳駿彥    時間: 2023-3-18 16:38

此帖僅作者可見
作者: 富溢    時間: 2023-3-18 16:46

此帖僅作者可見
作者: 王競儀    時間: 2023-3-18 16:49

此帖僅作者可見
作者: 黃昱齊    時間: 2023-3-18 16:51

此帖僅作者可見
作者: 蔡秉勛    時間: 2023-3-18 16:58

此帖僅作者可見
作者: 周桓宇    時間: 2023-3-18 16:58

此帖僅作者可見
作者: 陳佑俊    時間: 2023-3-18 16:58

此帖僅作者可見
作者: 江家同    時間: 2023-3-18 16:59

此帖僅作者可見
作者: 富溢    時間: 2023-3-18 17:00

此帖僅作者可見
作者: 張博翔    時間: 2023-3-18 17:00

此帖僅作者可見
作者: 王競儀    時間: 2023-3-18 17:02

此帖僅作者可見
作者: 許晏睿    時間: 2023-3-18 17:04

此帖僅作者可見
作者: 王競儀    時間: 2023-3-18 17:05

此帖僅作者可見
作者: 陳駿彥    時間: 2023-3-18 17:06

此帖僅作者可見
作者: 顏立人    時間: 2023-3-18 17:07

此帖僅作者可見
作者: 富溢    時間: 2023-3-18 17:07

此帖僅作者可見
作者: 許晏睿    時間: 2023-3-18 17:07

此帖僅作者可見
作者: 王競儀    時間: 2023-3-18 17:22

此帖僅作者可見
作者: 許晏睿    時間: 2023-3-18 17:23

此帖僅作者可見
作者: 富溢    時間: 2023-3-18 17:23

此帖僅作者可見
作者: 黃昱齊    時間: 2023-3-18 17:24

此帖僅作者可見
作者: 張博翔    時間: 2023-3-18 17:26

此帖僅作者可見
作者: 陳佑俊    時間: 2023-3-18 17:27

此帖僅作者可見
作者: 江家同    時間: 2023-3-18 17:27

此帖僅作者可見
作者: 周桓宇    時間: 2023-3-18 17:27

此帖僅作者可見
作者: 陳駿彥    時間: 2023-3-18 17:28

此帖僅作者可見
作者: 蔡秉勛    時間: 2023-3-18 17:29

此帖僅作者可見
作者: 陳佑俊    時間: 2023-3-20 20:11

此帖僅作者可見
作者: 陳佑俊    時間: 2023-3-20 20:12

此帖僅作者可見
作者: 陳駿彥    時間: 2023-3-22 23:57

此帖僅作者可見
作者: 呂宏晏    時間: 2023-3-29 14:18

此帖僅作者可見




歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2