20162311 2016-2017-2 《程序设计与数据结构》第四周学习总结

20162311 2016-2017-2 《程序设计与数据结构》第四周学习总结

教材学习内容总结

1.条件语句if,switch以及相等运算符,关系运算符和逻辑运算符。
2.while,do,for等循环语句。
3.数组的概念和应用。
4.对象数组,命令行参数,变长参数表等与数组运用有关的知识
5.二维,多维数组。

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

  • 问题1
    在观看蓝墨云班课里数组那一节的视频时,老师在写main这个方法时写的是main(String args []),而教材上却是String[] args,两者有区别吗?
  • 解决方案
    我在百度上查到了一下结果

    其实这两种写法执行起来是没去别的,只是语法上有些不同而已
  • 问题2
    在写教材上的程序4.9时,编译通过后,运行时出现了以下问题
  • 解决方案
    按理说,编译通过的话,我写的代码是没有问题的,这时我注意到了错误提示

    出现了异常,应该是运行时错误,但是提示“没有那个文件或目录”是什么意思呢?我又仔细看了教材上对这个程序的一些解释,发现这个程序是要从文件中读入URL,难道我是少了这个文件?为了验证我的猜想,我打开vim写入以下内容

    保存后我再次运行程序,这次成功了,也证明我的猜想是对的

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

  • 问题1
    做完书上PP4.8后,我运行时出现了问题

    弹出提示“Play again (y/n)?”后,我还没有输入,程序就自己退出了。
  • 解决方案
    我在码云上看了一下其他同学写的PP4.8,其中春旺同学的源代码给了我启发。下图是春旺同学的源代码

    我注意到他创建了两个Scanner对象,一个是scan,一个是sca。而我只创建了一个。

    于是我也加了一个

    加上之后就能正常运行了。之前也有的程序好几个变量公用一个Scanner对象,这次为什么不行呢?我发现之前的程序里变量虽然不同,但是它们都是同一数据类型,而这个程序里,我设置的value是int类型,而another是字符串,所以要创建两个Scanner对象。
  • 问题2
    在做完书上的PP4.1后,张家铖同学试着运行了这个程序,但是出现了问题。1800不是闰年,但程序运行后却打印出1800年是闰年。
  • 解决方案
    发现问题后,我重新查看了我的源代码,果然发现了问题。

    在判断是否为闰年时,我只判断了是否能被5整除或是否能被400整除,却漏了一种情况,1800能被5整除,能被100整除,却不能被400整除,而凡是能被100整除的都能被5整除,所以我的条件把能被100整除但不能被400整除的年份也判断成闰年了。于是我修改了源代码。

    修改之后就能正确判断了。

代码托管

  • 代码提交过程截图:
    • 运行 git log --pretty=format:"%h - %an, %ci : %s" 并截图
  • 代码量截图:
    • 运行 find src -name "*.java" | xargs cat | grep -v ^$ | wc -l 并截图

(statistics.sh脚本的运行结果截图)

上周考试错题总结

  • 错题1:第一题,填空:Linux Bash中,查找当前目录中前天创建的Java文件的命令是(find . -name .java -ctime 2)。要寻找java文件用.java,可以匹配所有以.java为后缀的文件。
  • 错题2:第二十四题,填空:Java中类方法使用(static)关键字声明。把static与import搞混了,import是用来引入类库中的类。

结对及互评

金立清同学很认真,遇到问题也会问清楚,但是博客中一些问题的解决方法不是很清楚,希望能搞懂。

点评过的同学博客和代码

感悟

本周学习了两章内容,任务比较重,花的时间也要多很多,而且后面的内容也越来越复杂,光看书上的内容,敲书上的代码是不能完全弄懂我要学的知识的,还应多和其他同学交流,多提问,或者自己找些参考资料。而且遇到的问题要及时记下来。本周的这些问题我是一遇到就把它写在博客的草稿里了,这样就不会最后写博客时忘了,而且也可以节省一些写博客的时间,这算是我的一点经验吧。

学习进度条

代码行数(新增/累积 博客量(新增/累积 学习时间(新增/累积 重要成长
目标 5000行 30篇 400小时
第一周 113/113 1/1 10/10
第二周 294/407 1/2 15/25
第三周 433/840 1/3 15/40
第四周 1169/2009 1/4 30/70
  • 计划学习时间:25小时

  • 实际学习时间:30小时

  • 改进情况:没想到两章的内容这么多,没有规划好学习方案,导致花了太多时间。

参考资料

posted @ 2017-03-26 17:40  20162311张之睿  阅读(214)  评论(7编辑  收藏  举报