201521123112《Java程序设计》第10周学习总结
1. 本周学习总结
1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容。

2. 书面作业
本次PTA作业题集异常、多线程
1.finally
题目4-2
1.1 截图你的提交结果(出现学号)

1.2 4-2中finally中捕获异常需要注意什么?
- 只有执行过try语句块,才会执行finally中的内容
- 在try语句块中执行了return操作,finally中的操作也会照样执行
2.用异常改进ArrayIntegerStack
2.1 截图你的提交结果(出现学号)

2.2 实验总结
- 按照题目的要求编写,如果栈满抛出
FullStackException,栈空抛出EmptyStackException
3.自定义异常
题目5-4
4.1 截图你的提交结果(出现学号)

4.2 自定义异常有哪几个关键点?
- 自定义异常需要继承Exception或者其子类
Checked Exception继承Exception,Uncheck Exception继承RuntimeException
4.读取文件并组装对象
实验任务书中中的题目3:读取文件并组装对象
给出关键代码(需出现你的学号)
public class ReadFileUsingScanner201521123112{
... ...
while(in.hasNextLine()){
... ...
try{
String a1 = lineScanner.next();//姓名
if(a1.length() == 0 || a1.length() > 10)
{
System.err.println(line);
throw new IllegalAccessException("姓名出错"); }
}
String a2 = lineScanner.next();// 身份证号
if (a2.length() != 18) {
System.err.println(line);
throw new IllegalAccessException("身份号出错");
}
String a3 = lineScanner.next();// 性别
if (!a3.equals("男") && !a3.equals("女")) {
System.err.println(line);
throw new IllegalAccessException("性别出错");
}
... ...
}catch (IllegalAccessException e) {
System.out.println(e);
}
}
5.学会使用Eclipse进行调试
观看相关调试视频
5.1 简述使用Eclipse进行调试需要几步?
- 设置断点
- 开启debug模式
- 运行程序
- 解决问题
5.2 调试时F5, F6, F7快键键各有什么不同?什么情况该使用哪个快捷键?
- F5(step into):跳到某个函数的内部
- F6(step over):跳过
- F7(Step Return):跳出某个函数
5.3 除了Eclipse的调试器,你还使用什么方法调试程序?
一般会使用sysout来检测是否有执行到该部分来进行调试
6.题集多线程
6.1 程序填空3-1、3-2。(截图提交结果,出现你的学号)

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


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

Labmda表达式改写:
Thread t1 = new Thread(
() -> {
System.out.println(mainThreadName);
System.out.println(Thread.currentThread().getName());
System.out.println(Arrays.toString(Thread.class.getInterfaces()));
}
);
6.4 实验总结
- 3-1:设置守护线程即可
- 3-2:在
t1.start();之后再使用t2.start(); - 4-1:根据题目要求重新编写
run方法,然后通过循环输出0~n-1,最后调用isAlive来判断线程是否还活着 - 4-2:在word比较完之后要将其设置为null!在word比较完之后要将其设置为null!在word比较完之后要将其设置为null!
重要的事情说三遍 - 4-3:匿名内部类的使用以及run方法的重新编写
7.源代码阅读:多线程程序BounceThread
7.1 哪个类是支持多线程的类,它实现了什么接口。这个类做了些什么?
BallRunnable,它实现了Runnable接口,让小球在界面上移动,然后重画、休眠一段时间
7.2 Ball.java这个程序只做了两件事,这两件事分别是什么?
move方法控制小球的移动
getShape方法获得小球的位置和形状
7.3 BallComponent也只做了两件事,这两件事分别是什么?
add()加小球,paintComponent();画小球
7.4 BounceThread中,什么时候启动了新线程?
点击addButton的时候会添加一个小球,启动一个新线程
7.5 这个程序是如何实现?一个大致的执行流程是什么?
建立一个Jframe,然后在加入小球运动的组件,点击addBotton让小球出现然后移动小球,点击一次,出来一个移动的小球。
8.购物车系统中的多线程
8.1 购物车系统中可能存在哪些多线程问题?
让多个用户同时登陆到购物车系统的时候,就需要运用到多线程
10.选做:JavaFX入门
先完成了一个界面,后续还会在继续做

3. 码云上代码提交记录

201521123112《Java程序设计》第10周学习总结的更多相关文章
- 2018面向对象程序设计(Java)第10周学习指导及要求
2018面向对象程序设计(Java)第10周学习指导及要求(2018.11.1-2018.11.4) 学习目标 理解泛型概念: 掌握泛型类的定义与使用: 掌握泛型方法的声明与使用: 掌握泛型接口的定 ...
- 面向对象程序设计(JAVA) 第10周学习指导及要求
2019面向对象程序设计(Java)第10周学习指导及要求 (2019.11.1-2019.11.4) 学习目标 1.掌握java异常处理技术: 2.了解断言的用法: 3.了解日志的用途: 4.掌 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
- 20155304田宜楠 2006-2007-2 《Java程序设计》第二周学习总结
20155304田宜楠 2006-2007-2 <Java程序设计>第二周学习总结 教材学习内容总结 一.类型与变量 1.类型 整数: 可细分为为short整数(占2字节),int整数(占 ...
随机推荐
- xhost和DISPLAY
xhost是用来控制X server访问权限的. 通常当你从hostA登陆到hostB上运行hostB上的应用程序时,做为应用程序来说,hostA是client,但是作为图形来说,是在hostA上显示 ...
- js基础语法习题补充
输入三个整数,x,y,z,最终以从小到大的方式输出. <<script> var x=prompt("请输入数字") var y=prompt("请输入 ...
- Oracle12c 在windonServer2012中安装的步骤
oracle12c在windownServer2012中安装步骤 前期工作:<这个必须要安装:而且c$的C必须大写> 第一步:控制面板>所有控制面板项>管理工具>服务& ...
- ubuntu下发布asp.net core并用nginx代理之旅(续)
前面实现了ubuntu下的发布,然而实际项目一般为visual studio中发布文件系统,然后上传至生产环境中,(部分参考:上传文件到linux - ubuntu) 这节就发布到生产环境中的: 1. ...
- 关于web.xml中的<welcome-file-list>
关于web.xml中的<welcome-file-listgt; WebXMLSpringJSPTomcat 问题: <welcome-file-listgt;中的<welcome- ...
- HTML DOM (文档对象模型)
当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. HTML DOM 树 通过可编程的对象模型,JavaScrip ...
- 新手学习SEO要做的七件事是什么?
学习SEO可能不那么先进的编程,学习SEO不可能掌握网页设计,学习SEO不需要学习SEO DIV + CSS;不是一个困难的任务,但是在学习过程中,如果你想掌握SEO,那么我们要做的几件事. 1.学习 ...
- Java入门(5)——类和对象还有构造方法
类 类和对象的概念: 类是对一群具有相同属性.行为的事物的统称. 类是抽象的. 人以类聚 物以群分 对象: 对象是现实生活中的1个具体存在. 看得 ...
- Idea下载后初始配置(windows环境下)
专业版的intellij可以免费试用30天.为了以后开发方便,咱们需要下载专业版进行破解. 一.破解 安装过程中有个界面如下,咱们选择License server填上http://idea.itebl ...
- 基于.netstandard的权限控制组件
基于.netstandard的权限控制组件 Intro 由于项目需要,需要在 基于 Asp.net mvc 的 Web 项目框架中做权限的控制,于是才有了这个权限控制组件. 项目基于 .NETStan ...