zoukankan      html  css  js  c++  java
  • 《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 掌握了本次学习的内容

  • 相关阅读:
    txtexcelcvsxml存储测试数据
    webstorm 格式化代码(CTR+ALT+L)快捷键失效?
    解决jQuery触发dbclick事件同时也执行click事件
    css经典布局——头尾固定高度中间高度自适应布局
    js 如何访问跨域的iframe的元素
    获取textarea文本框所选字符光标位置索引,以及选中的文本值;textarea高度自适应,随着内容增加高度增加;获取输入框中的光标位置
    js 如何计算当年清明节日期
    验证插件使用笔记
    node 升级之后 执行gulp报错解决方案
    scss css管理相关
  • 原文地址:https://www.cnblogs.com/Melody-529/p/6783649.html
Copyright © 2011-2022 走看看