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

教材学习内容总结

又是一周两章,不过好在第12章内容都不是特别多,还可以接受。

第11章:

       异常也是对象。

       异常的抛出时,输出的信息提供了方法调用堆栈踪迹。

       try语句必须有一个catch语句。

       无论try语句中异常是否出现,finally语句都将执行。

       如果一个异常没有被捕获处理,异常将传递给上级调用方法。

       可以通过Exception类或其后代类派生一个新类来定义一个新的异常。

       对于可检测异常,如果不进行捕获处理,则需要在方法开头使用throws。

       流是一个有序的字节序列。

       System类的三种对象引用变量代表标准I/O流。

第12章:

       递归是一种方法可以调用自己。

       递归的定义中需要有终止条件(基本情况)的非递归部分,是递归结束。

       每一次对方法的递归调用,都会创建新的局部变量与参数

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

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

  • 问题1:pp11.2中,如何进行循环?(反正我想了半小时)
  • 20172312 2017-2018-2 《程序设计与数据结构》第9周学习总结
20172312 2017-2018-2 《程序设计与数据结构》第9周学习总结
  • 问题1解决方案:看了看第五章发现有!表示否定的操作,终于解决了这个问题。、

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

  • 问题2:最后程序市运行的时候出现了这样的问题。20172312 2017-2018-2 《程序设计与数据结构》第9周学习总结
20172312 2017-2018-2 《程序设计与数据结构》第9周学习总结
  • 问题2解决方案:将其改为<=后,adc不再判定为回文,但依然发现有判断错误,大概是算法本身的问题。

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

代码托管

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

上周考试错题总结

  • 1.一个java程序可以处理几种不同方式的异常。下列哪一项方法,不是java程序可以处理一个异常的方法?all of the above are ways that a Java program could handle an exception
  • A.课本上提供了三种方法,根本不处理,当异常发生时处理,在程序的某个特定位置集中处理。而题目中多出的”将异常抛出到要处理的预定义异常类中“则是课本上没有的,所以,课本不能全信!
  • 2.异常可以产生列表中的“调用堆栈跟踪”。the active methods in the opposite order that they were invoked
  • A.调用堆栈跟踪提供存储在运行时堆栈上的方法的名称。方法名称以与它们放置的相反顺序从堆栈中移除,也就是说,最早的方法被放置在第一个、下一个方法、第二个等等,因此最近调用的方法是堆栈上的最后一个项目,因此它是第一个被移除的方法。堆栈跟踪然后以调用它们的相反顺序显示所有活动方法(机翻啥东西,完全没讲明白!函数调用堆栈追踪(2) - CSDN博客
  • 3.为了使某些代码抛出异常,您将使用下列保留词中的哪一个?throw
  • A.所以说,我在方法开头加throws不一样的么。
  • 4.假设Exceptionname是一个可检测异常。如果方法使用可以生成Exceptionname的类,则该方法必须包含catch语句,其中catch语句捕获Exceptionname,或者方法头必须包含语句:。throws
  • A.方法开头加throws,常规操作。
  • 5.Character streams manage Unicode字符
  • A.讲道理,题我都没看懂。后来看了蓝墨云机翻,字符流用于管理16位Unicode字符。这与用于管理任何类型的字节大小的数据的字节流不同,包括ASCII字符和其他类型的二进制数据。大概Character流是一个特殊流?
  • 6.为了定义键盘输入对象,键盘,您可以使用指令:BufferedReader keyboard = new BufferedReader(System.in); false
  • A.BuffReadReader对象必须用Reader对象构造。In是一个输入流对象。为了使用上述定义,必须将BufferedReader读取器构造函数中的对象更改为(new InputStreamReader(System.in)).法律声明将是BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in));
  • 结对及互评

评分标准

  1. 正确使用Markdown语法(加1分):
    • 不使用Markdown不加分
    • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
  2. 模板中的要素齐全(加1分)
    • 缺少“教材学习中的问题和解决过程”的不加分
    • 缺少“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺少“结对及互评”的不能打开的不加分
    • 缺少“上周考试错题总结”的不能加分
    • 缺少“进度条”的不能加分
    • 缺少“参考资料”的不能加分
  3. 教材学习中的问题和解决过程, 一个问题加1分

  4. 代码调试中的问题和解决过程, 一个问题加1分

  5. 本周有效代码超过300分行的(加2分)
    • 一周提交次数少于20次的不加分
  6. 其他加分:
    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 课后选择题有验证的加1分
    • 代码Commit Message规范的加1分
    • 错题学习深入的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习情况真实可信的加1分
  7. 扣分:
    • 有抄袭的扣至0分
    • 代码作弊的扣至0分
    • 迟交作业的扣至0分

点评过的同学博客和代码

  • 本周结对学习情况
    • 20172318
    • 20172315
    • 结对学习内容
      • pp12.9

      • 杨辉三角的递归

学习进度条

  代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时  
第六周 347/2019 1/10 26/153  
第七周 728/2747  1/11  31/184   
第八周 808/3555 2/13 33/217  
第九周 1082/4637 1/14 28/245  

参考资料

java基础学习总结——流 - 孤傲苍狼 - 博客园

函数调用堆栈追踪(2) - CSDN博客