第二阶段Blog作业
(1)前言:
- 题目集四的知识点:
1)正则表达式对实际问题的处理
2)类的聚合关系(日期的聚合)
3)类的继承(图形之间的继承)
4)子类继承自父类,子类可以对父类的方法进行重写(Override);
5)子类继承父类用extends关键字来实现,语法为class 子类 extends 父类{}
6) 保留两位小数可以使用String.format(“%.2f”,a);
题目集五的知识点:
1) split()的使用方法,split对字符串以给定的字符进行分隔,例如str.split(“ ”);可以将字符串str中的空格分隔;
2) 练习了3种排序方法的使用,插入排序,选择排序,冒泡排序;
3) 日期的第二种聚合关系,在DateUtil创建Day,Month,Year的对象,
4) System.exit(0);可以直接退出程序;
题目集六的知识点:
1)boolean find = str.matches(pattern);可以用于判断str与pattern是否匹配;
2)Arrays类里的Arrays.sort();可以进行排序;
3)toCharArray() 方法将字符串转换为字符数组;
4)List<Shape> list = new ArrayList<>();
需要 import java.util.ArrayList;
list列表存储的是Shape类型的对象,
list.add();用于往list里添加Shape类型的对象;
list.get(i);用于获取第i+1个元素;
5)Collections.swap(list,j,j+1);用于交换list列表里的下标为j和j+1的元素;
需要import java.util.Collections;
6)System.exit(0);用于退出程序
7)对象数组的创建,例如:Circle cir[] = new Circle[a];
8)接口的基础运用;
(2)设计与分析:
①题目集4(7-2)、题目集5(7-4)两种日期类聚合设计的优劣比较
题目集4(7-2)的类图和报表内容

题目集5(7-5)的类图和报表内容

题目集4(7-3)、题目集6(7-5、7-6)三种渐进式图形继承设计的思路与技术运用(封装、继承、多态、接口等)
题目集4(7-3)的类图:

分析:本题是实现图形类的继承,共七个类,Shape为父类,我是先写Shape类,因为Shape类最简单,只有一个求图形面积的方法,然后在按照题目的顺序写其他类,在其他类里用Override对求图形面积的方法实现重写,这也是多态的一种表现方法,题目已经明确给出各个类之间的继承关系了,最后在写Main类。
题目集6(7-5)的类图:

分析:这题我是花了比较多的时间的,我一开始对实验指导书里的:要求创建的各个图形对象均存储在 ArrayList<Shape>类型的列表中,这句话不怎么理解,以至于我是直接创建ArrayList<Double>的列表,因为我那个时候不知道怎么将各个图形的对象存入ArrayList<Shape>的列表中,再用ArrayList<Double>列表写完后发现这样提交回是零分的,然后在网上查怎么存储自定义对象的列表,最后在写代码的时候,我是将各个对象的对象数组存入了ArrayList<Shape>列表,我的排序方法以及求得所有图形面积总和的方法都设计在了Main类中。而在排序的时候,也遇到了问题,就是Arrays类的sort方法不能使用
题目集6(7-6)的类图:

分析:本题的重点是接口,我一开始也不了解接口是什么,是通过查找资料了解的,接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成。
接口是解决Java无法使用多继承的一种手段,但是接口在实际中更多的作用是制定标准的。或者我们可以直接把接口理解为100%的抽象类,既接口中的方法必须全部是抽象方法。
在了解了接口是什么,这题也就很好做了,按照题目要求来就行了。
③对三次题目集中用到的正则表达式技术的分析总结
题目集4(7-1)的水文数据校验及处理题目,数据处理复杂,自己没有写出来
题目集5(7-4)的统计Java程序中关键词的出现次数,相关知识学习不到位,没有写出来
题目集6(7-1~7-4),题目较为简单,都是一些基础的正则表达式训练的题目,匹配字符串和校验,很容易就写出来了。
④题目集5(7-4)中Java集合框架应用的分析总结
在java中,集合就想让与一组类型相同或者异同的对象或者基础数据的集合。而题目集5(7-4)中则是对一段代码进行统计关键字的次数。
(5)总结:
1.学会了Arrayslist列表的使用,在之前听老师讲Arrayslist的时候,觉得好高级,很难看懂,现在回过头来,发现Arrayslist列表的基本用法十分简单。
2.继承进一步的了解,做了2道继承的题目。
3.接口的初步了解,接口是解决Java无法使用多继承的一种手段。
4.聚合关系的初步掌握,我在题目集4的7-2(聚合一),是没有写出来的,而在
题目集5-7-4(聚合二)对聚合关系有一定的理解,虽然花了较多的时间。
5.自己还是对正则表达式的学习不够,简单的题目会做,一旦难一点的题目就无从下手了。
浙公网安备 33010602011771号