20172322 2017-2018-2 《程序设计与数据结构》第九周学习总结

20172322 2017-2018-2 《程序设计与数据结构》第九周学习总结

教材学习内容总结

  • 异常
    • 学会了使用try-catch来实现未捕获的异常的处理。可使得异常被捕获进而不致使程序出现错误退出。使用try写入可能产生异常的语句,使用catch来编写在捕获异常后继续执行的代码(能够为空)。
    • "未捕获的异常"指在编译过程当中不会被编译软件显示异常可是在运行时会出现异常致使程序直接退出,例如:“ArithmeticException”、"IndexOutOfBoundException"等。
    • 可使用finally子句来使得一些命令在try-catch语句中始终被执行。
    • 咱们能够在一些异常类的基础上编写本身的异常类----自定义异常。throwsthrow必须同时出现!
  • 递归
    • 递归是指一个方法调用本身。
    • 迷宫问题和汉诺塔问题是递归方法体现的两个例子。
    • 使用递归能够实现与循环类似的一些功能,例如PP12.1就是一个鲜明的例子。

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

  • 本周教材学习问题很少。
  • 问题1:最初对未捕获的异常的命名方式不太理解,它为何要被成为未捕获的异常呢?该命名的方式是如何命名的?
  • 问题1解决方案:范雯琪给我讲了一下她的理解:所谓未捕获异常多是指编译工具没有发现的异常,只有在运行时才会抛出错误。我感受到了豁然贯通。
  • 问题2:关于无穷递归,无穷递归如何实现?它会致使什么样的错误?
  • 问题2解决方案:看到了文章《可怕的无穷递归》有了一些理解,在文章中他给出了一些例子,而且写出了最容易的抛出错误"StackOverflowException".

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

  • 问题1:在作PP11.1和PP11.2时最初并无实现“直到输入“DONE”为止”这一条件,致使后期加如这一条件时遇到了一些困难,由于最早是使用的while循环来实现这一目标。
  • 问题1解决方案:忽然想到break这一个命令,这个命令好像能够直接退出循环。因此就编写了如下代码
if (value.equals("DONE"))
            break;
  • 问题2:在作PP12.1时,并不知道用递归方法如何实现回文的判断。
  • 问题2解决方案:上网查询了相关的代码,借鉴了文章《使用递归实现回文判断》而且在递归方法后面加上了本身的理解。如图

代码托管


忽然发现IDEA竟然能统计有效代码,厉害厉害!html

上周考试错题总结

  • 错题1及缘由:对栈的记忆有些许忘记,忘记了栈的调用方法是什么样的。 java

  • 理解状况:栈的调用遵循“先进后出,后进先出”的原则,因此说处理的顺序是相反的,并非正向。
  • 错题2及缘由:对catch为空和没有catch理解出现错误,觉得二者等同。git

  • 理解状况:二者不相等,一个try必需要有至少一个catch与其对应,可是catch的内容能够为空。
  • 错题3及缘由:对BufferedReader的使用不理解。数据结构

  • 理解状况:浏览博客《关于java中BufferedReader的read()及readLine()方法的使用心得》理解了相关用法工具

结对及互评

  • 博客中值得学习的或问题:
    • 范雯琪同窗的博客加上了目录,看起来很厉害耶。而后我也去加上啦。
  • 代码中值得学习的或问题:
    • 本周暂无。

点评过的同窗博客和代码

  • 本周结对学习状况
    • 20172303学习

    • 结对学习内容
      • 教会范雯琪同窗自编写异常,使她对PP项目的问题豁然贯通
      • 在范雯琪同窗编写PP项目遇到困难时我积极伸出了援手,使得她对本章她以为一些难点豁然贯通!
      • 她在编写PP11.1时在没有使用while循环的状况下竟然用了break还问我为何break红了......这我的有点笨
      • 她在编写PP12.1时向我询问了一下代码的具体写法,在对最后递归方法实现的时候不理解,给她解释了一下为何须要写上一个字符,两个字符和其余,而不是一个字符和其余。

其余

  • 感悟:本周那个王老师布置IO异常处理做业有些难度,虽然本身没有知足全部要求,可是本身仍是尽本身所能知足相关基础要求。
  • 思考:下周就要对Android的相关知识进行学习啦,比较激动!

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 242/242 1/4 13/13 增长了对Java的兴趣
第二周 297/539 1/5 15/28 发现目标并无想象中那么难
第三周 315/854 2/7 18/46 忽然发觉JAVA的难度不小
第四周 1269/2123 1/8 50/96 Java难到哭,可是有信心击败他!
第五周 737/2860 1/9 30/126 难度的减少激发了学习动力
第六周 542/3402 2/11 20/146 不能说难度变小!!!又难了T T
第七周 956/4357 1/12 35/181 平平淡淡才是真
第八周 2448/6805 3/15 80/261 四则运算花的时间太多了,还好书上例题的代码老师给了
第九周 1284/8089 2/17 70/331 IO异常的处理是真的有点难度
  • 计划学习时间:50小时.net

  • 实际学习时间:70小时设计

  • 改进状况:commit的要求继续实施,根据学长对上周博客的建议修改了上周博客,并在本周博客中尽可能避免相似问题发生。调试

参考资料

相关文章
相关标签/搜索