20172316《程序设计与数据结构》第四周学习总结

20172316 《程序设计与数据结构》第三周学习总结

教材学习内容总结

第四章和第七章综合总结
  • 类是个啥?我之前一直以为是系统预先规定好的,死的东西,学过这章之后才发现的文件和之前所做的所有JAVA文件一样,不管是语句,语法。
  • 第四章和第七章之间联系甚密,这大概也是老师如此安排的原因,编写类文件时,我们需要“1.确定软件需求;2.软件设计;3.实现软件设计;4.软件测试”(摘自第七章)。而第四章的UML类图对类和对象间的关系进行可视化描述,这很有利于程序员理清编程的思路,确定软件的需求。
  • 亲自设计一个含构造方法的帮助我理解之前用过的每个预定义类的原理
  • 第七章对如何设计程序,程序之间的关系以及接口进行了介绍,看起来都是新东西,其实早就包含在了我们之前所做过的一些习题中。

教材学习中的问题和解决过程

在最初没有理解和熟悉编写类时,可以说是一脸懵逼,“这些setXXXX(),和getXXXX()到底是干什么的,return是返回,那返回和输出的区别是什么,private之前也从未见过。如何去解决呢?看例题、敲例题,当自己做完之后,研究输出结果,对照程序本身,就能理解其含义了。
这些程序比之前的要长得多,但例题好歹也是一般的JAVA语言,都能看懂。


代码调试中的问题和解决过程

  • 问题1:PP4.7,找不到对象,如图,1334032-20180404200718329-1543257540.png

  • 问题1解决方案:输入String类参数时,应加双引号""

  • 问题2:例题4.1运行不了(找不到或无法加载主类 Die),如图,1334032-20180404200740016-1789813753.png

  • 问题2解决方案:代码是由IDEA上编成,复制到虚拟机上,最上有package week4打包,在其前加上//变为注释无效化即可。
  • 问题3:PP7.3编译错误*1,如图,1334032-20180404200803698-1709465918.png

  • 问题3解决方案:按照提示,输入javac -Xlint:unchecked XXX进行检查,发现创建名为Student的ArrayList时,没有确定保存对象的数据类型导致错误,加入后创建:ArrayList<student> Student = new ArrayList<student>(),问题解决。
  • 问题4:PP7.3运行错误*1,如图,1334032-20180404200817896-1165771381.png

  • 问题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脚本的运行结果截图)1334032-20180404200834924-1601899396.png


上周考试错题总结

  • 错题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/1951/420/20对代码产生了很大兴趣
第二周309/5041/520/40打字速度明显提升
第三周311/8152/725/65
第四周474/12891/830/95抗...抗压能力加强?

参考资料

转载于:https://www.cnblogs.com/zhaoqianchen/p/8719103.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值