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

zhangyeye233      2022-02-09     499

关键词:

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居然能统计有效代码,厉害厉害!

上周考试错题总结

  • 错题1及原因:对栈的记忆有些许忘记,忘记了栈的调用方法是什么样的。 技术分享图片

  • 理解情况:栈的调用遵循“先进后出,后进先出”的原则,所以说处理的顺序是相反的,并不是正向。
  • 错题2及原因:对catch为空和没有catch理解出现错误,以为两者等同。技术分享图片

  • 理解情况:两者不相等,一个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小时

  • 实际学习时间:70小时

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

参考资料



程序设计与算法

程序设计与算法[北京大学] 第一周:枚举完美立方生理周期称硬币熄灯问题讲义加群:597225218  输入:博客园程序设计与算法第一章第二周:递归(一)阶乘汉诺塔N皇后波兰表达式讲义加群:597225218  输入:博客园程序... 查看详情

201723272018-2019-1《程序设计与数据结构》实验三:查找与排序

201723272018-2019-1《程序设计与数据结构》实验三:查找与排序课程:《Java软件结构与数据结构》班级:201723姓名:马瑞蕃学号:20172327实验教师:王志强实验日期:2018年11月19日必修/选修:必修一、实验内容:实验二查找与排序-1... 查看详情

20172328《程序设计与数据结构》实验三:查找与排序

20172328《程序设计与数据结构》实验三:查找与排序课程:《软件结构与数据结构》班级:1723姓名:李馨雨学号:20172328实验教师:王志强老师实验日期:2018年11月19日-2018年11月25日必修选修:必修一、实验要求内容实验1:定义... 查看详情

20172308实验三《程序设计与数据结构》查找与排序实验报告(代码片段)

201723082018-2019-1实验3《查找与排序》报告课程:《程序设计与数据结构》班级:1723姓名:周亚杰学号:20172308实验教师:王志强实验日期:2018年10月20日必修/选修:必修1.实验内容查找与排序-1:定义一个Searching和Sorting类,并在... 查看详情

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

学号20172326《程序设计与数据结构》第八周学习总结教材学习内容总结后绑定在程序执行时执行多态性可由继承与接口实现排序有选择法排序与插入法排序搜索分为线性搜索与二分搜索算法,同一类型的不同方法可能解决同一问... 查看详情

程序设计基石与实践专栏引导

本博文主要对通过程序设计基石与实践专栏归类,主要分为C语言与C++语言.下面对程序设计基石与实践专栏博文的索引:(待定未完待续)C语言话谈C语言让你成为一名Top的C语言程序员C语言程序员必读的5本书让你成为... 查看详情

计算机专业毕业设计(论文)题目汇总表.doc

考试报名数据处理系统设计与实现、基于WEB的车票预订信息系统设计与实现、全文搜索引擎的设计与实现、图书借阅管理信息系统设计与实现、图书销售管理信息系统设计与实现、学生选课信息系统设计与实现、运动会成绩管理... 查看详情

红书《题目与解读》第一章数学题解《acm国际大学生程序设计竞赛题目与解读》(代码片段)

...计划红书《题目与解读》第一章数学题解《ACM国际大学生程序设计竞赛题目与解读》全书目录:《题目与解读》红书训练笔记目录《ACM国际大学生程序设计竞赛题目与解读》目录红书《题目与解读》第一章数学题解《ACM国际... 查看详情

风螺旋与飞行程序设计

精简版的课件分享。风螺旋课题的一个阶段性总结,后续将从理论向实践进行转变,希望取得更多的实践成果,再与大家分享!全文完,谢谢!  查看详情

RESTful URL 设计:公共与私有 API、分层 API 设计模式、URI 与 URL 设计?

】RESTfulURL设计:公共与私有API、分层API设计模式、URI与URL设计?【英文标题】:RESTfulURLdesign:publicvsprivateAPI,hierhachyAPIdesignpattern,URIvsURLdesign?【发布时间】:2013-12-1923:00:23【问题描述】:我经常遇到这样的问题,与HierarchicalRESTfulUR... 查看详情

程序设计语言与语言处理程序基础

重点1编译过程2文法定义 一颗语法树 有限自动机正规式7数据类型与程序控制结构8表达式9传值与传址传址调用10各程序语言特点  查看详情

201823222019-2020-1《数据结构与面向对象程序设计》第四周学习总结

教材学习内容总结1.编写类与方法(构造方法的结构和用途)2.实际参数与形式参数、public与private、return与void的区别与含义、3.UML类图的含义与形式4.静态类(Math类)静态变量、静态方法5.类间关系(依赖关系、聚合关系、继承... 查看详情

概要设计与具体设计

概要设计与具体设计在写概要设计与具体设计的时候,对于内容以及他们之间的界限非常easy模糊.今天写点自己的想法.有问题请大家不吝赐教:[email protected]首先大家要注意这2个文档最后2字,都是设计.设计就是设计,不是代码因... 查看详情

数学题解《acm国际大学生程序设计竞赛题目与解读》(代码片段)

...计划红书《题目与解读》第一章数学题解《ACM国际大学生程序设计竞赛题目与解读》全书目录:《题目与解读》红书训练笔记目录《ACM国际大学生程序设计竞赛题目与解读》目录红书《题目与解读》第一章数学题解《ACM国际... 查看详情

201723292017-2018-2《程序设计与数据结构》第十周学习总结

201723292017-2018-2《程序设计与数据结构》第十周学习总结教材学习内容总结第十三章一、集合与数据结构1、集合:是一种对象,类似于保存其他对象的存储库;2、作用:表示一个专用与保存元素的对象,并且该对象还提供增添、... 查看详情

系统分析与设计复习

文章目录系统分析与设计复习第1章系统分析与设计概述系统特性DevOps第2章系统规划**系统规划步骤**规划模型诺兰模型**CMM模型**系统规划方法战略集合转换法SST关键成功因素法CSF企业资源规划法BSPCSB三者联系和区别第3章系统分... 查看详情

win10系统程序与功能查找,卸载程序

win10系统程序与功能查找,卸载程序  查看详情

201723132017-2018-2《程序设计与数据结构》实验三报告

201723132017-2018-2《程序设计与数据结构》实验三报告课程:《程序设计与数据结构》班级:1723姓名:李楠学号:20172330实验教师:王志强实验日期:2018年11月19日必修/选修:必修1.实验内容实验三-查找与排序-1定义一个Searching和Sor... 查看详情