首页 技术 正文
技术 2022年11月8日
0 收藏 412 点赞 1,414 浏览 2813 个字

1. 本周学习总结

2. 书201521123087 《Java程序设计》第9周学习总结

面作业

本次PTA作业题集异常

  1. 常用异常
    题目5-1
    1.1 截图你的提交结果(出现学号)
    1.2 自己以前编写的代码中经常出现什么异常、需要捕获吗(为什么)?应如何避免?                                                                                                                                                    答:自己以前编写的代码经常出现异常就是数组越界,无需使用try-catch进行捕获处理,我们编写代码时应避免下标越界。
    1.3 什么样的异常要求用户一定要使用捕获处理?                                                                                                                                                                                                  答:除了`Error`与`RuntimeException`及其子类的以外的都属于`Checked Exception`,需要用`try-catch`捕获来处理。
  2. 处理异常使你的程序更加健壮
    题目5-2
    2.1 截图你的提交结果(出现学号)                                                                                                                                                                                                                   
    2.2 实验总结
  3. throw与throws
    题目5-3
    3.1 截图你的提交结果(出现学号)
    3.2 阅读Integer.parsetInt源代码,结合3.1说说抛出异常时需要传递给调用者一些什么信息?
  4. 函数题
    题目4-1(多种异常的捕获)
    3.1 截图你的提交结果(出现学号)
    3.2 一个try块中如果可能抛出多种异常,捕获时需要注意些什么?
  5. 为如下代码加上异常处理

    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));//打印数组内容

    5.1 改正代码,让其可正常运行。注1:里面有多个方法均可能抛出异常。注2:要使用finally关闭资源。                                                                                                                        答:

     public static void main(String[] args) throws IOException {
    // TODO Auto-generated method stub
    byte[] content = null;
    FileInputStream fis=null;
    try{
    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));//打印数组内容
    }
    catch(IOException e){
    System.out.println(e);
    }
    finally{
    if(fis!=null){
    fis.close();
    }
    }
    }

    5.2 使用Java7中的try-with-resources来改写上述代码实现自动关闭资源.                                                                                                                                                              答:

    public static void main(String[] args) throws IOException {
    // TODO Auto-generated method stub
    byte[] content = null;
    try(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));//打印数组内容
    }
    catch(IOException e){
    System.out.println(e);
    } }
  6. 重点考核:使用异常改进你的购物车系统(未提交,得分不超过6分)
    举至少两个例子说明你是如何使用异常处理机制让你的程序变得更健壮。
    说明要包含2个部分:1. 问题说明(哪里会碰到异常)。2.解决方案(关键代码)                                                                                                                                                             答:
    (1)问题说明:当浏览到喜欢的商品想添加入购物车时,如果该商品售完,应该捕获异常,并说明商品已售完
    解决方案:ArrayList<Product> prolist = new ArrayList<Product>();
    public void addpro(Product pro){
    try{
    prolist.add(pro);
    }catch(NullPointerException e){
    System.out.println("None of the Product?");
    }
    }
    (2)问题说明:输入选择添加商品的序号时当输入为字符串时,需要抛出输入格需要对输入的格式进行异常的捕获
    解决方案:
    System.out.println(Arrays.toString(p));
    System.out.println("选择添加商品序号:");
    try{
    switch (sc.nextInt()) {
    case 1: {
    cart.addpro(p[0]); }
    case 2: {
    cart.addpro(p[1]);
    break;
    }
    case 3: {
    cart.addpro(p[2]);
    break;
    }
    }
    menu(cart, p);
    }catch(NumberFormatException e){
    menu(cart,p);
    }

3. 码云上代码提交记录

3.1. 码云代码提交记录

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