又经过了一个月,Java学习步入了下一个阶段。通过这三次的练习,我们对面向对象的程序设计又有了进一步的了解。
第一次题目集的题量是比较小的,一共有三道题目,其中三道题目的难度差异很大,题目是由难到易的,主要考察了使用 Java 中的字符串处理类以及正则表达式对输入字符串数据进行合法性校验及计算,日期问题面向对象的程序设计,日期问题面向对象设计。其中正则表达式的难度最大。
第二次题目集一共有五道题目,相较于第一次题目集来说,简单了很多,前三题主要考察了查找,合并两个有序数组为新的有序数组 ,对整型数据排序,是对我们基础知识的考验。对于掌握了基础知识的人来说可以轻松的实现编程。第四题是统计Java程序中关键词的出现次数,考察了对数组知识的理解,其中需要我们百度搜索Java中的关键词,第五题和前面的第一次题目集里的第二题有些相似,日期问题面向对象设计,考察了对类的设计。总的难度来说难度不算很大,对于掌握了基础知识的来说很轻松就能写完。
第三次题目集题量为六题,但题目都相较于前面的题目来说,很轻松就可以完成。前面的四题考察的是正则表达式训练,还有字符排序,难度较易,后面两题考察了掌握类的继承、多态性及其使用方法, 实现图形接口及多态性,分别实现GetArea接口。这三次作业难度总体来说不算难,和前三次作业相比( 在三次作业之间也穿插了一些实验,在这些实验中我们能体会到Java相比较于c语言其强大的处理问题的能力,通过这些问题的解决过程逐渐来引导我们学生面向对象进行思考)。
题目集4(7-2) 设计如下几个类:DateUtil、Year、Month、Day,应用程序共实现三个功能1.求下一天2.求前n天3.求两个日期相差的天数

题目集5(7-4)也是日期类聚合设计主要代码如下

关联关系是类与类之间的联接,它使一个类知道另一个类的属性和方法,聚合是强的关联关系为整体和个体之间的关系。两个题目的耦合度不同,其中一个的main类中调用各个类,另一个DateUtil、Year、Month、Day类中独立实现。这样代码可重复使用的可能性更高。
题目集4(7-3)题目集6(7-5、7-6):


题目集4。7-3实现图形类的继承,并定义相应类对象,
题目集6(7-5、 所谓的“多态”,简单的理解就是对象在不同情况下的不同表现,具体体现在定义和功能两个方 面,简单的总结一下,多态可以用“三个定义和两个方法”来总结。三个定义分别是父类定义子类构 建、接口定义实现类构建和抽象类定义实体类构建,而两个方法分别是方法重载和方法重写。本次作 业我们采用的是抽象类定义、实体类构建的方式。即 Shape 为抽象类,Circle、Rectangle 及 Triangle 为实体类。根据图形的面积大小进行升序排序,要求必须对 list 中的图形对象在 list 中进行排序,而不 是对求得的面积进行排序,排序后再次求出各图形的面积并输出。Shape 类、Rectangle 类、Circle 类以及 Triangle 类设计做到独立、可复用。要求创建的各个图形对象均存储在 ArrayList类型的列表中,可能会用到的方法如下(仅 作提示): add()、addAll()、toArray(),此外,还可能用到 Arrays 类或者 Collections 类, 要求创建的各个图形对象均存储在 ArrayList类型的列表中。
题目集6 7-6) 在Main类的主方法中分别定义一个圆类对象及矩形类对象(其属性值由键盘输入),使用接口的引用分别调用圆类对象及矩形类对象的求面积的方法,直接输出两个图形的面积值。使用接口及类实现多态性。
三次题目集中运用了大量的正则表达式,
matches 和 lookingAt 方法都用来尝试匹配一个输入序列模式。它们的不同是 matches 要求整个序列都匹配,而lookingAt 不要求。
lookingAt 方法虽然不需要整句都匹配,但是需要从第一个字符开始匹配。
捕获组是把多个字符当一个单独单元进行处理的方法,它通过对括号内的字符分组来创建。
通过调用 matcher 对象的 groupCount 方法来查看表达式有多少个分组。groupCount 方法返回一个 int 值,表示matcher对象当前有多个捕获组。
检索方法
public int start()
返回以前匹配的初始索引。
public int start(int group)
返回在以前的匹配操作期间,由给定组所捕获的子序列的初始索引
public int end(int group)
返回在以前的匹配操作期间,由给定组所捕获子序列的最后字符之后的偏移量。
在改进的过程中,我们可以根据其测试点的提示来改进自己的代码。逐个测试就能通过测验。在检查测试的过程中也发现了自己的代码风格不好,在改进的过程中有时候会遇到读不懂自己的代码的情况发生,在做作业的过程中浪费了我们很多时间。慢慢的形成自己的代码风格才能做到持续改进。
从变量的声明,赋值语句和赋值表达式的运用,数值数据类型和操作再到方法和数组的调用,再到对象和类,面向对象的思想。往后还有继承和多态和异常处理。在以后的作业中,先仔细的审查题目然后如果有不了解的知识就多看看菜鸟教程,然后实在有不解的地方也可以问问同学,向他们请求帮助。以后Java的学习中应该投入更多的时间,希望在更多的时间付出能让我在作业中取得更好的成绩。
浙公网安备 33010602011771号