首页 技术 正文
技术 2022年11月8日
0 收藏 647 点赞 1,448 浏览 2316 个字
  1. 本周学习总结

1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容。

  1. 书面作业

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

finally

题目4-2

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

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

finally中的代码段一定会被执行,因为不管资源打开是否成功都要对resource.close();进行try-catch,所以要把对资源关闭的try-catch代码段放在finally的代码段内

2.用异常改进ArrayIntegerStack

题目4-3

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

2.2 实验总结

方法添加出错时抛出异常的功能,可以让用户更清楚地知道是出了什么错误。

3.自定义异常

题目5-4

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

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

定义IllegalScoreException异常类属于checked exception(继承自Exception)
定义IllegalNameException异常类属于unchecked exception(继承自RuntimeException)
自定义的异常在抛出时要明确告诉用户异常的原因:要求异常名要有意义,最好还要输出产生异常的信息

4.读取文件并组装对象

实验任务书中中的题目3:读取文件并组装对象

给出关键代码(需出现你的学号)

public class ReadFileUsingScanner {
public static void main(String[] args) throws FileNotFoundException {
Scanner in = new Scanner(new File("身份证号.txt"));// 为myfile.txt这个File创建一个扫描器in
while (in.hasNextLine()) {
String line = in.nextLine();// 读出myfile.txt的下一行 Scanner lineScanner = new Scanner(line);// 为每一行建立一个扫描器
// System.out.println("lineScanner="+lineScanner);
lineScanner.useDelimiter(" ");// 使用空格作为分隔符
// System.out.println(line);
try {
String a1 = lineScanner.next();// 姓名
String a2 = lineScanner.next();// 身份证号
String a3 = lineScanner.next();// 性别
String a4 = lineScanner.next();// 年龄
String a5 = lineScanner.next();// 地址
while (lineScanner.hasNext()) {// 谨防地址只有一段
a5 += lineScanner.next();
}
System.out.println(a1 + a2 + a3 + a4 + a5);
} catch (NoSuchElementException e) {
// TODO: handle exception 201521123111
continue;
} }
in.close();
}
}

5.学会使用Eclipse进行调试

观看相关调试视频

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

1.在正确的地方设置断点。
2.启动调试模式。
3.Eclipse有一个专门的debug perspective,专门用于调试。
4.查看状态值。

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

F5:step into。
F6:step over,跳过。
F7:step return,跳出。
F8:resume,恢复运行直到碰到下一个断点。

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

使用System.out.println("x="+x);打印出任意变量的值,如果碰上某个变量打印出现异常就能找到出错点。

6.题集多线程

6.1 程序填空3-1、3-2。(截图提交结果,出现你的学号)

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

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

6.4 实验总结

3-1:t1.setDaemon(true);使线程成为守护线程,如果所有前台线程死亡,守护线程自动结束。
3-2:使用t1.join()方法让处于运行状态的线程调用另一个线程,等其他线程执行完再执行本线程。

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

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

BallRunnable是支持多线程的类,实现了Runnable接口.
这个类调用小球移动的函数.

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

实现小球的移动,获得小球的大小和坐标。

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

加小球;画出小球。

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

按下strat按钮,触发新的事件,调用函数addBall(),在addBall()中启动新的线程。

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

建立一个Jframe;点击start按钮,触发事件,调用函数addBall();运行;结束。
  1. 码云上代码提交记录

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

3.1. 码云代码提交记录

在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,491
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,492
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,293