zoukankan      html  css  js  c++  java
  • 201521123075 《Java程序设计》第10周学习总结

    1. 本周学习总结

    2. 书面作业

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

    1.finally

    题目4-2

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

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

    • finally里的代码无论前方代码是否抛出异常都会执行
    • 要注意resource是否是空指针
    • 要在finally里面对resource.close()进行异常捕获

    2.用异常改进ArrayIntegerStack

    题目4-3

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

    2.2 实验总结

    • 要注意top指针的自动加减
    • 如果栈满,直接抛出栈满的异常,栈空也一样

    3.自定义异常

    题目5-4

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

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

    • 自定义异常内部要调用super(s)
    • 根据是否需要try-catch选择继承的异常类
    • 抛出异常的时候要显示异常信息,便于使用者了解

    4.读取文件并组装对象

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

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

    关键代码:

    运行截图:

    5.学会使用Eclipse进行调试

    观看相关调试视频

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

    • 1.设置断点
    • 2.进入Debug界面
    • 3.进行调试

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

    • F5(step into):跳入函数内部,要检查函数内部具体运行时使用
    • F6(step over):跳过某个函数
    • F7(step return):从函数里跳出,某个函数有很多语句,想中途跳出这个函数时使用。

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

    答:通过System.out.println。
    

    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((new Thread()).getClass().getInterfaces()));
        });
    

    6.4 实验总结

    • 4-1 重写run()方法
    • 4-2 记住要判断word是否为null,通过捕获异常来终止线程,使用sleep()方法抛出一个Exception异常,在run方法中捕获这个异常,让线程安全退出。

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

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

    答:BallRunnable是支持多线程的类,它实现了Runnable接口,这个类用于控制小球的行动路线
    

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

    答:第一是移动小球到下一个位置,如果它击中一个边缘,使其反向运动;
       第二是获取当前位置的小球的形状。
    

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

    答:第一是球的绘画,第二是在面板上添加一个球。
    

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

    答:点击addButton按钮添加一个小球,然后启动一个新线程。
    

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

    答:建立一个Jframe,加入显示小球运动的组件,然后点击addButton按钮添加小球,并且开始移动,每点击一次addButton按钮就会添加一个小球,在最后一个小球运动到规定位置后就停止了。
    

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

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

    答:可能存在顾客的多线程,即每一个顾客都是一个线程。
    

    3. 码云上代码提交记录

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

    3.1. 码云代码提交记录

  • 相关阅读:
    C#脚本引擎 CS-Script 之(一)——初识
    系分过了,mark一下,就从这里开始吧
    Git.Framework 框架随手记-- 分享一个"比较垃圾"的项目
    Android--多选自动搜索提示
    Android--自动搜索提示
    Android--图片集
    Android--下拉框
    SQL Server 收缩日志
    Android--按钮点击事件
    Android--TextView 文字显示和修改
  • 原文地址:https://www.cnblogs.com/tt1104/p/6785001.html
Copyright © 2011-2022 走看看