1. 程式人生 > >20165212任胤第四周課上作業補做

20165212任胤第四周課上作業補做

static imp == div 數值 string 執行 i++ body

20165212任胤 第四周課上測試補做


題目:jdb調試遞歸循環程序

程序代碼:

import java.util.Arrays;
   public class B {
       public static void main(String [] args) {
           if(args.length < 1){
               System.out.println("Usage: java CLSumRecursion num1 num2 ...");
               System.exit(0);
          }
 int m = Integer.parseInt(arg[0
]) int sum=0; int i; for(i=1;i<=m;i++) { sum=sum+fact(i); } System.out.println(sum); } public static int fact(int n){ if (n==0) return 1; else return n*fact(n-1); } }

未能完成原因分析:

  • 我在課上完成了自己寫循環遞歸程序的任務,用的是 Scanner 語句,而我在課下調試過程中發現 Scanner 語句使用 jdb 調試時無法讀取輸入.
  • 上周課下學習疏忽,導致調試過程生疏,各種不熟練,很僵硬.
  • 當時不會使用 Integer 語句.

說明:上面的這個程序是我拷貝婁老師博客上面的,不是我自己寫的.運行結果我就不貼出來了,只貼出調試結果.

m為給定值,i為當前執行到的數值,sum為當前階乘之和

技術分享圖片

m=3

技術分享圖片

m=5,並運行幾步

技術分享圖片

m=8,但只運行到1!+2!+3!+4!+5!+6!.

感想:課上做不出來測試感覺很不爽,以後不會的了

20165212任胤第四周課上作業補做