20172316 《程序设计与数据结构》第三周学习总结
教材学习内容总结
第四章和第七章综合总结
- 类是个啥?我之前一直以为类是系统预先规定好的,死的东西,学过这章之后才发现类的文件和之前所做的所有JAVA文件一样,不管是语句,语法。
- 第四章和第七章之间联系甚密,这大概也是老师如此安排的原因,编写类文件时,我们需要“1.确定软件需求;2.软件设计;3.实现软件设计;4.软件测试”(摘自第七章)。而第四章的UML类图对类和对象间的关系进行可视化描述,这很有利于程序员理清编程的思路,确定软件的需求。
- 亲自设计一个含构造方法的类帮助我理解之前用过的每个预定义类的原理
- 第七章对如何设计程序,程序之间的关系以及接口进行了介绍,看起来都是新东西,其实早就包含在了我们之前所做过的一些习题中。
教材学习中的问题和解决过程
在最初没有理解和熟悉编写类时,可以说是一脸懵逼,“这些setXXXX()
,和getXXXX()
到底是干什么的,return
是返回,那返回和输出的区别是什么,private
之前也从未见过。如何去解决呢?看例题、敲例题,当自己做完之后,研究输出结果,对照程序本身,就能理解其含义了。
这些程序比之前的要长得多,但例题好歹也是一般的JAVA语言,都能看懂。
代码调试中的问题和解决过程
-
问题1:PP4.7,找不到对象,如图,
-
问题1解决方案:输入String类参数时,应加双引号
""
! -
问题2:例题4.1运行不了(找不到或无法加载主类 Die),如图,
-
问题2解决方案:代码是由IDEA上编成,复制到虚拟机上,最上有
package week4
打包,在其前加上//
变为注释无效化即可。 -
问题3:PP7.3编译错误*1,如图,
-
问题3解决方案:按照提示,输入
javac -Xlint:unchecked XXX
进行检查,发现创建名为Student的ArrayList时,没有确定保存对象的数据类型导致错误,加入后创建:ArrayList<student> Student = new ArrayList<student>()
,问题解决。 -
问题4:PP7.3运行错误*1,如图,
-
问题4解决方案:检查命令行提供的信息找到错误出处,发现关键
public float average() {
int i = 0; Sum = 0; while (i <= ScoreList.size()){ Sum += ScoreList.get(i); i += 1; } sum = Sum; AverageScore = sum / StudengtList.size(); return AverageScore;
循环语句中i <= ScoreList.size()
出了问题(i不能等于size,而是size-1),导致Sum += ......
无法正常进行。改为i < ScoreList.size()
后问题解决。
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
-
错题1: The behavior of an object is defined by the object's
正确答案:method
错误原因:想当然认为所有因素都影响着对象的行为,然而所有行为确实归根结底都是方法决定的; -
错题2:All Java classes must contain a main method which is the first method executed when the Java class is called upon.
正确答案:false
原因:只有驱动类才需要main方法,只有驱动类才需要main方法,只有驱动类才需要main方法。 -
错题3:Every class definition must include a constructor.
正确答案:false
原因:可以没有构造函数。 -
错题4:During program development, software requirements specify
正确答案:what the task is that the program must perform
原因:纯粹的英语不好,没读懂题意,这道题根本就是一道英语题。 -
错题5:The goal of testing is to
正确答案:find logical and run-time errors
原因: 测试的目的是找到逻辑错误和运行错误,而语法错误是不需要从这里找的,因为javac的时候就发现了。 -
错题6:Interface classes cannot be extended but classes that implement interfaces can be extended.
正确答案:false
原因:完全可以扩展。。。。 -
错题7:All objects implement Comparable.
正确答案:false
原因:只有实现了接口(定义compareTo方法),才能comparable。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 195/195 | 1/4 | 20/20 | 对代码产生了很大兴趣 |
第二周 | 309/504 | 1/5 | 20/40 | 打字速度明显提升 |
第三周 | 311/815 | 2/7 | 25/65 | 无 |
第四周 | 474/1289 | 1/8 | 30/95 | 抗...抗压能力加强? |
参考资料
- 《Java程序设计教程(第八版)》电子工业出版社
- 《使用码云和博客园学习简易教程》
- 《使用开源中国(码云)托管代码》