20165315 第二次考试课下补做
课上内容的补做,结果截图
第三题
- 参考http://www.cnblogs.com/rocedu/p/6766748.html 编程实现1!+2!+3!+... + N!的功能,N由命令行传入,比如类名为SumofRecur, java SumofRecur 8 给出1!+2!+3!+... + 8!的值,
提交运行结果的截图(至少五张),注意测试正常,异常,边界情况, 比如java SumofRecur -8,java SumofRecur 0,java SumofRecur 你的学号后四位
出错原因:
没有熟悉老师给的博客中的程序,导致现场编写时手忙脚乱,快到截止时间才编写出来,结果没有提交成功。
相关知识点补充:
- 实现从命令行输入
- 输入几个数字
int n1 = Integer.parseInt(args[0]);
int n2 = Integer.parseInt(args[1]);
- ... ...
- 连续输入几个数字
for(String arg : args) System.out.println(arg);
- 求命令行参数的args中整数数据的和
for(String arg: args)
sum += Interger.parseInt(arg);
- 把传入的字符串数组转化为一个临时的int 数组
int [] tmp = new int [args.length];
for(int i=0; i<args.length; i++)
tmp[i] = Integer.parseInt(args[i]);
- 输入数字
- 命令行:
java [name] number
- IDEA:
- Run->Edit Configuration...
- 通过 Programm argumetns传递
- 命令行:
- 输入几个数字
- 递归函数
public static int fact(int n) {
if (n == 0)
return 1;
else
return n * fact(n-1);
}
第四题
-
1 参考 http://www.cnblogs.com/rocedu/p/6371262.html 调试上一个程序
-
2 通过命令行传入3
-
3 提交N=1 , N=2, N=3时的结果截图
出错原因:
没有听清老师讲解的如何在JDB中调试需要在命令行中输入参数的代码
相关知识点补充:
应在编译后,输入jdb -classpath .:./bin SumofRecur 3
,方可进入JDB调试
补做书上二三章编程题目的码云链接
https://gitee.com/BESTI-IS-JAVA-2018/ch1/tree/master/Exercise/src
相关内容总结
- 第三题中主要是考在命令行直接输入数据和递归函数的运用,相关知识娄老师详细的在2016-2017-2 《Java 程序设计》课堂实践项目中讲解了
- 第四题中需要进行JDB调试,应在编译后,输入
jdb -classpath .:./bin SumofRecur 3
,方可进入JDB调试- 进入函数不能使用
next
,要使用step
- 想观察
sum
的值,可使用print sum
语句
- 进入函数不能使用