• 《Java技术》第六次作业


    Java第六次作业


    一 . 学习总结

    1.XMind总结

    • 截图:

    2.关于异常的处理机制

    • printStackTrace方法的运行结果输出的是异常信息与出现异常的位置

           java.lang.Exception: Exception thrown in method3
           at excise.PrintExceptionStack.method3(PrintExceptionStack.java:28)
           at excise.PrintExceptionStack.method2(PrintExceptionStack.java:24)
           at excise.PrintExceptionStack.method1(PrintExceptionStack.java:20)
           at excise.PrintExceptionStack.main(PrintExceptionStack.java:6)
      
    • getMessage方法的运行结果是异常信息

           Exception thrown in method3
      
    • 异常的处理机制:

    • try代码段写出现异常的语句,catch写处理异常的语句,若使用throws关键字,它所声明的方法不处理异常,最好不要在主方法中使用,throw关键字是人为的抛出异常,在try里实例化抛出异常的对象,在catch中输出

    3.迭代器的使用注意事项

    • 如果删除的是books集合的最后一个对象,运行结果是:
            原始元素之后:[One book, Two book, Three book]
            One book
            Two book
            Three book
            Exception in thread "main" java.util.ConcurrentModificationException
            at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:819)
        at java.util.ArrayList$Itr.next(ArrayList.java:791)
            at excise.Test2.main(Test2.java:14)
    
    • 原因:如果删除的是最后一个对象,输出时迭代器的大小没有发生改变,集合的内容能正常输出,当对最后一个对象进行删除时,迭代器的大小发生变化,出现异常
    • 若想要删除,使用迭代器的remove方法进行删除
    • 代码如下:
        import java.util.*;
        public class Test2 {
            public static void main(String[] args) {
    	        Collection<String> books = new ArrayList<String>();
    	            books.add("One book");
    	            books.add("Two book");
    	            books.add("Three book");
    	            System.out.println("原始元素之后:" + books);
    	            Iterator<String> it = books.iterator();
    	            while (it.hasNext()) {
    		                String book = (String) it.next();
    		                System.out.println(book);
    		                if (book.equals("One book")) {
    			                it.remove();
    		                }
    	            }
    	            System.out.println("移除元素之后:" + books);
                }
        }
    

    4.HashSet的使用注意事项

    • 出现重复元素的原因:
    • 因为添加的是Student的一个匿名对象,匿名对象内容虽然相同,但是引用不同,所以有重复元素出现
    • 解决方法:
    • 在Student类添加equals方法与HashCode方法

    二 . 实验总结

    1. KTV点歌系统

    • 程序设计思路:

      • 创建Song类,声明需要的属性,添加setter与getter方法,重写toString方法,重写hashCode与equals方法,以便之后的属性比较
      • 创建SongPlay类,声明Song的对象数组,与SongPlay类进行联系,并且按照功能增加方法
      • 创建Test类,对功能进行有逻辑的调用与输出
    • 问题1:

      • 重写equals方法,也不能删除对象
      • 输入字符串后不能正确给属性赋值
    • 原因:

      • 没有对equals方法增加getClass()的比较
      • 我使用的是nextLine方法
    • 解决方案:

      • 增加getClass()的比较
      • nextLine方法是读行,应该使用next方法,输入空格结束

    2.微博注册

    • 程序设计思路:

      • 创建User类,声明需要的属性,添加setter与getter方法,重写toString方法,重写hashCode与equals方法,以便之后的属性比较
      • 创建CheckOut类,声明User的对象数组,与CheckOut类进行联系,并且按照功能增加方法
      • 创建Test类,对功能进行有逻辑的调用与输出
    • 问题1:

      • 比较手机号与邮箱时,不会使用正则表达式进行比较
    • 原因:

      • 没真正记住理解正则表达式的规则与用法
    • 解决方案:

      • 认真研究并且上网查了许多资料进行学习正则表达式

    三 .代码托管

    • 码云commit历史截图


    四 .学习进度条

    进程 代码行数(新增/累积) 学习时间(新增/累积) 本周学习内容
    目标 5000行 300小时
    第2-4周 500/500 45/45 自学了前四章的内容,自己练习了学习过程中的所有代码,并写了一些练习题提交到了码云中
    第5周 200/700 15/55 学习了老师要求的内容
    第6周 300/1000 15/70 学习了作业中要求的内容
    第7-8周 200/1200 15/85 掌握了本次学习的全部内容
    第9周 300/1500 10/95 掌握了本次学习的内容
    第10周 400/1900 10/95 掌握了本次学习的内容

  • 相关阅读:
    C# 操作Excel
    分享C#原生ID(流水号)生成功能实现
    Win7 64bit系统下未能加载文件或程序集“System.Data.SQLite”的解决办法
    c# 软件自动在线更新代码
    Win7 64bit系统下未能加载文件或程序集“System.Data.SQLite”的另一解决办法
    ActiveX控件的另类免费签名法(补充)
    ActiveX控件的另类免费签名法
    常用函数以及正则校验
    Delphi键盘按键伪码
    格林治时间
  • 原文地址:https://www.cnblogs.com/Melody-529/p/6783649.html
Copyright © 2020-2023  润新知