1. 本周学习总结

2. 书面作业

本次PTA作业题集异常、多线程

1.finally

题目4-2

1.1 截图你的提交结果(出现学号)

1.2 4-2中finally中捕获异常需要注意什么?

只有执行过try语句块,finally语句块才会执行且只要try块语句被执行,finally块都会被执行

2.用异常改进ArrayIntegerStack

题目4-3

2.1 截图你的提交结果(出现学号)

2.2 实验总结

用throws声明该方法抛出的异常;用throw抛出异常

3.自定义异常

题目5-4

3.1 截图你的提交结果(出现学号)

3.2 自定义异常有哪几个关键点?

自定义异常用try-catch-finally处理且由用户自己throw

4.读取文件并组装对象

实验任务书中中的题目3:读取文件并组装对象
给出关键代码(需出现你的学号)

5.学会使用Eclipse进行调试

观看相关调试视频

5.1 简述使用Eclipse进行调试需要几步?

1.判断出错的地方并设置断点;2.启动Debug模式进入调试;3.查看当前属性;4.清除断点结束该程序。

5.2 调试时F5, F6, F7快键键各有什么不同?什么情况该使用哪个快捷键?

F5:进入到函数;F6:跳过这个函数;F7:跳出当前函数

5.3 除了Eclipse的调试器,你还使用什么方法调试程序?

用system.out.println()

6.题集多程

6.2 函数4-1(Thread)、4-2(Runnable)(截图提交结果,出现你的学号)


6.3 函数4-3(Runnable与匿名内部类)(截图提交结果,出现你的学号),并使用Labmda表达式改写。

6.4 实验总结

setDaemon(true)使线程成为守护线程;用Runnable接口的匿名内部类的实现,Thread t1 =new Thread(new Runnable())

7.源代码阅读:多线程程序BounceThread

7.1 哪个类是支持多线程的类,它实现了什么接口。这个类做了些什么?

BallRunnable类是支持多线程的类,实现了Runnable接口;该类的run()方法中调用了小球移动的方法

7.2 Ball.java这个程序只做了两件事,这两件事分别是什么?

1.定义了move()实现小球的移动;2.定义了getShape()获得当前位置球的形状

7.3 BallComponent也只做了两件事,这两件事分别是什么?

1.add(Ball b)添加小球;2.paintComponent(Graphics g)画小球

7.4 BounceThread中,什么时候启动了新线程?

在添加小球后启动新线程

7.5 这个程序是如何实现?一个大致的执行流程是什么?

构建小球运动边缘框架,对小球运动和属性进行声明;声明方法的同时对小球的运动轨迹进行设定;使用addButton每点击一次按钮就添加一个小球

8.购物车系统中的多线程

8.1 购物车系统中可能存在哪些多线程问题?

多个用户同时购物

3. 码云上代码提交记录

题目集:异常、多线程(3-1, 3-2, 4-1, 4-2, 4-3)

3.1. 码云代码提交记录