标签:学习总结 文件大小 出现 大小 优点 合作伙伴 integer ack 类型转换
思维导图:
本次PTA作业题集异常
结合题集题目7-1回答
异常:ArrayIndexOutofBoundsException
捕获:不需要,ArrayIndexOutofBoundsException异常属于RuntimeException异常的子类。
避免:改进代码,不让数组下标越界。
异常:ClassCastException
捕获:不需要,ClassCastException异常属于RuntimeException异常的子类。
避免:改进代码,尽量不要出现错误的类型转换。
一定要捕获处理的异常:除了Erro与RuntimeException和RuntimeException子类以外的异常都要使用捕获处理。
题集题目7-2
总结:本题老师在实验课上给了部分代码,需要做的就是考虑一下数组循环时i++要放的位置。一开始我并没有考虑到i++要放在哪里,就直接在捕获异常,后来发现了存在的问题,然后按照老师的提示做了处理,将i++放在了try中。
回答:使用异常处理输入机制
题集题目7-3
阅读Integer.parsetInt源代码
好处:阅读源代码可以发现 Integer.parsetInt可能存在异常,一开始就throws异常,可以不用在后面写try-catch语句块,可以简化代码。
总结:在写这一题的时候,感觉基本上都是比较简单的,就是空格的处理。。。试了好几次。。
信息:(参考PPT)
1.当异常发生时,系统具体发生了什么错误。
2.这个异常是想要别人一定捕获处理,还是不需要捕获。
题集题目6-3
好处:如果程序运行时出错,只能靠系统干预来强行终止程序。但是如果使用抛出异常的方法,则不会产生系统强行终止程序的现象。
优点:做6-3的时候感觉在程序里加了异常处理,使程序运行起来更健壮,比起单纯的返回错误值,提供给调用者更多的信息,如具体是什么原因造成的异常等等。
答:RuntimeException类型的异常不需要捕获,所以我认为不声明throws也可以吧。。。好处好像没想到,,或许可以使程序变得更健壮?
题集题目6-1
注意:
注意:
catch块中的异常不得有继承关系
byte[] content = null;
FileInputStream fis = new FileInputStream("testfis.txt");
int bytesAvailabe = fis.available();//获得该文件可用的字节数
if(bytesAvailabe>0){
content = new byte[bytesAvailabe];//创建可容纳文件大小的数组
fis.read(content);//将文件内容读入数组
}
System.out.println(Arrays.toString(content));//打印数组内容
改正代码:
操作:需要释放资源的操作(如关闭数据库等等)
原因:当程序发生异常时,抛出异常之后的代码不会被执行,如果在发生异常前程序开启了相关资源,则代码可能无法正确关闭资源,而finally的语句块代码都会被执行,所以可以使用finally来释放资源。
注意:
1.首先要判断是否为null
2.从改进代码的过程可以看出,即使是在关闭资源的时候也可能产生异常,需要捕获。
PPT资料:
改写代码:
好处:对比原来的finally语句块可以发现,使用上述代码实现自动关闭资源可以减少代码量,避免了finally语句的异常臃肿。
登录lib.jmu.edu.cn,对图书进行搜索。然后登录图书馆信息系统,查看我的图书馆。如果让你实现一个图书借阅系统,尝试使用面向对象建模。
使用者:图书管理员、用户
因为之前的合作伙伴不做这一块的内容,于是我打算自己写一个面向用户的模块吧,虽然我感觉图书的录入应该是图书管理员做的事情,但是为了程序的正常运行。。我得先给它加一些进去。。表格如下:
功能模块 | 负责人 |
---|---|
图书录入、查书、借书、还书 | 吴雅思 |
图书馆用户类、图书类
类图:(现在还没具体想清楚,画个简单点的吧,好像图书会有一个ISBN编码,我先加进去。。。)
答:存储图书信息应该会按照之前类似购物车系统的做法,先定义一个类,然后用一个数组去实现,查书的话选择用数组遍历吧,现在也还没写代码,就大概考虑一下。。现在就是怎么查到读者当前的图书借阅情况了,应该要写一个个人的借书情况吧,这个的实现还没有想好。。。。
问题:(好像大部分是变量名命名不规范。。)
解决:给变量起名字的时候还是要注意一下具体的含义,不要随便起名字,如类名首字母要大写。。。还有一个问题是说“x应该作为equals的参数而不是调用方”,这个我有点懵,不知道是什么意思。。。。
题目集:异常
在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图
需要有两张图(1. 排名图。2.PTA提交列表图)
排名图:
提交列表:
{{uploading-image-40387.png(uploading...)}}
{{uploading-image-470074.png(uploading...)}}
需要将每周的代码统计情况融合到一张表中。
周数 | 行数 | 新增行数 | 文件数 | 新增文件数 |
---|---|---|---|---|
1 | 57 | 57 | 5027 | 5027 |
2 | 400 | 400 | 10 | 10 |
3 | 508 | 508 | 23 | 13 |
5 | 609 | 609 | 31 | 8 |
6 | 612 | 612 | 40 | 9 |
7 | 584 | 584 | 46 | 6 |
8 | 432 | 432 | 50 | 4 |
9 | 620 | 620 | 56 | 6 |
10 | 468 | 468 | 60 | 4 |
11 | 476 | 476 | 67 | 7 |
课外练习
JavaTutorial中Questions and Exercises
练习总结
课外阅读
任选下面一篇文章阅读,列举出几点自己能理解的异常处理最佳实践。
Best Practices for Exception Handling
Exception-Handling Antipatterns Blog
The exceptions debate
标签:学习总结 文件大小 出现 大小 优点 合作伙伴 integer ack 类型转换
原文地址:http://www.cnblogs.com/jmu201621123062/p/7868707.html