20165212任胤第四周课上作业补做

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!.

感想:课上做不出来测试感觉很不爽,以后不会的了

posted @ 2018-03-25 19:39  FenixRen  阅读(95)  评论(3编辑  收藏  举报
#back-to-top { background-color:wheat; bottom: 0; box-shadow: 0 0 6px ; color: #444444; padding: 2px 2px; position: fixed; right: 20px; cursor: pointer; ヾ(≧O≦)〃嗷~ }