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

    1. 本周学习总结

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

    2. 书面作业

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

    1.finally
    题目4-2
    1.1 截图你的提交结果(出现学号)

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

    答:只要执行try语句,无论是否出现异常,finally中的代码块就会被执行,finally利用resource.close()捕获异常。
    

    2.用异常改进ArrayIntegerStack
    题目4-3
    2.1 截图你的提交结果(出现学号)
    2.2 实验总结

    3.自定义异常
    题目5-4
    4.1 截图你的提交结果(出现学号)
    4.2 自定义异常有哪几个关键点?

    4.读取文件并组装对象
    实验任务书中中的题目3:读取文件并组装对象
    给出关键代码(需出现你的学号)

    答:
    
        public class Main201521123068{
        public static void main(String[] args) throws FileNotFoundException {
            Scanner in = new Scanner(new File("身份证号.txt"));// 为myfile.txt这个File创建一个扫描器in
            ArrayList<Use> list=new ArrayList<User>();
            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();}
                int k=Integer.parseInt(a4);
                User user=new User(a1,a2,a3,k,a5);
                list.add(user);
                System.out.println(a1 + a2 + a3 + a4 + a5);
                }catch(Exception e)
                {continue;}
            }
            Collections.sort(list,newAgeComparator());age排序后输出
                    System.out.println(list);
            in.close();}
            }
            class AgeComparator implements Comparator<User>{
            @Override
            public int compare(User o1, User o2) {
            // TODO Auto-generated method stub
            return o1.getAge()-o2.getAge();
        }}
    

    5.学会使用Eclipse进行调试
    观看相关调试视频
    5.1 简述使用Eclipse进行调试需要几步?

    • 根据错误提示找出出错位置,设置断点(在Java透视图的PackageExplorer视图中设置断点,双击选择的源代码文件,在一个编辑器中打开它。遍历代码,将鼠标放在可疑代码一行的标记栏(在编辑器区域的左侧)上,双击即可设置断点)
    • 通过Run > Debug菜单以类似的方式设置调试配置
    • 选择一个类,将它作为调试的主Java类使用
    • 当调试器启动时,在一个新的窗口中打开,开始调试
    • 注意:1.使用完后在breakpoint视图中清除所有的断点
      2.调试完记得要结束jvm

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

    答:F5(step into)、F6(step over,跳过)、F7 (step return,跳出);
    drop to frame (返回该方法的第一行)
    F8 (resume,恢复运行直到碰到下一个断点)
    watch (只看某个变量或者表达式)
    

    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表达式改写。
    6.4 实验总结

    7.源代码阅读:多线程程序BounceThread
    7.1 哪个类是支持多线程的类,它实现了什么接口。这个类做了些什么?

    答:BallRunnable类是支持多线程的类,它实现了Runnable接口,这个类定义了小球的属性,调用小球move()函数。
    

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

    答:move(Rectangle2D bounds)函数获取小球移动的坐标,getShape()函数获取小球的大小。
    

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

    答:add(Ball b)函数加入一个小球,paintComponent(Graphics g)函数画出这个小球。
    

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

    答:点击addButton添加按钮时,调用addBall()函数添加一个小球,此时启动了新线程。
    

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

    答:建立图形界面,对小球的大小属性和坐标进行定义,点击addButton按钮在界面中添加小球,添加后的小球不断地移动,直至移动的步数达到上限,停止移动,程序结束。
    

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

    答:多个用户同时进行购物操作,为多线程问题。
    

    3. 码云上代码提交记录

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

    3.1. 码云代码提交记录

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

  • 相关阅读:
    DDD 领域驱动设计-谈谈 Repository、IUnitOfWork 和 IDbContext 的实践
    UVA10071 Back to High School Physics
    UVA10071 Back to High School Physics
    UVA10055 Hashmat the Brave Warrior
    UVA10055 Hashmat the Brave Warrior
    UVA458 The Decoder
    UVA458 The Decoder
    HDU2054 A == B ?
    HDU2054 A == B ?
    POJ3414 Pots
  • 原文地址:https://www.cnblogs.com/bmr666/p/6784634.html
Copyright © 2011-2022 走看看