第二阶段Blog作业

(1)前言:

 

  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.自己还是对正则表达式的学习不够,简单的题目会做,一旦难一点的题目就无从下手了。

posted @ 2021-11-13 15:31  但不肉  阅读(38)  评论(0)    收藏  举报