雨刷问题
雨刷问题是正式学习Java接触的第一个问题,简单的开始,通过一次次地学习,一次次的优化,将雨刷问题写的更加完善。从最初的不伦不类,到后面渐渐从中看到了Java的影子,慢慢具有了一定的Java的特点,同时也使我对Java的理解更深一步。
第一次
第一次只有一个类,只是简单实现了雨刷的基本功能,根本看不出任何Java的影子
类图:
第二次
第二次初步学习了Java的封装性,分出了五个类,但依然是很简单的分出了五个类
类图:
第三次
初步了解了单一职责原则,增加了Driver和Print两个类
类图:
第四次
运用了MVC模式,且尝试嵌入单例模式
类图:
第五次
合理设计实体类、业务(控制)类、接口类、各个类的抽象父类以及相互的关系,基本符合SRP(Single Responsibility Principe,单一职责原则)、Demeter法则(Law of Demeter)、“开-闭”原则、里氏代换原则、依赖倒转原则以及合成复用原则,使雨刷问题更加完善
类图:
总结
通过几周的学习,雨刷问题逐渐完善,从最初的一个类到最后的十五个类,我也从最初的完全不了解到现在的略知一二,了解了Java七大原则并尝试运用,也找到了学习的乐趣。
PTA
第一次
第一次作业基本围绕同一个问题展开,那就是日期计算问题,三个题目层层递进,一步步把同一个问题优化。
题目要求:参考题目集二中和日期相关的程序,设计一个类DateUtil,该类有三个私有属性year、month、day(均为整型数),其中,year∈[1820,2020] ,month∈[1,12] ,day∈[1,31] ,
应用程序共测试三个功能:
输入输出样例:
第二题点三题逐步优化,类图如下:
总结:这次习题集完成的非常艰辛,总是出现各种各样的错误,经过无数次调试、修改、提交、测试,终于最后通过所有的测试点。这次艰难的经历让我明白了我对于Java的理解仅仅是皮毛,还有太多太多东西要学,也让我调试改错的能力增加了,学会在代码中寻找错误,改正错误,并吸取教训。
第二次
第二次pta作业明显比第一次要好很多,可能是因为题目偏向基础语法,都是一些比较容易写出来的题目,也可能是经过一段时间的学习,让我对Java有了进一步的了解,这次的题目写起来就要轻松很多,一些题目直接一次通过,其余的也没有花费过多时间。
第三次
第三次的话要比第二次的题目略难一些,但相比第一次还是要简单很多,没有那么多稀奇古怪的错误出现,用了较短的时间就完成了。这次题目主要是一些String类的应用,通过查询、学习和做题,我也初步了解了String类一些简单的方法的应用,比如比较、删除、增添、分割等。
实验
第一次
一、实验目的
1、练习类的构造方法、方法的调用、参数传递、对象的构造与使用;
2、练习循环结构、控制结构;
3、练习数据的输入与输出;
4、学习编写结构清晰、逻辑正确、功能完善的java代码。
5、学习使用工具对代码进行跟踪调试。
二、实验要求
1、对实验中要求的代码进行上机调试,完成实验指导书中全部实验内容。
2、编写实验报告。
三、实验步骤
(一)第一题
1、阅读给出的部分代码和题目描述;
2、通过题目提示写出student类的主要部分;
3、查找资料,学习随机数random的用法;
4、书写代码,保证无语法错误;
5、测试代码并修正代码中的可能错误和疏漏;
6、在规定的最后期限前提交代码。
(二)第二题
1、阅读给出的部分代码和题目描述;
2、检查代码出现的错误,并依次改正;
3、书写缺失的代码,保证无语法错误;
4、测试代码并修正代码中的可能错误和疏漏;
5、在规定的最后期限前提交代码。
四、实验结果
(一)第一题
1.
2.
(二)第一题
1.
2.
五、实验小结
1、学习了对象数组的使用方法,学会了创建对象数组,学会如何存储、使用数组中的对象。
2、学习了如何产生随机数,学会使用随机数产生不同范围的随机数,利用随机数间接产生随机的姓名。
3、对于eclipse的调试功能的使用更加熟练。
第二次
一、实验目的
1、 掌握类与对象的基本概念;
2、 掌握类的声明、创建与使用方法;
3、 掌握类的构造方法的定义与使用方法
4、 掌握类的成员变量、成员方法的定义与使用方法;
5、 理解类变量、类方法与实例变量、实例方法的区别;
6、 理解Java语言中包的概念以及package、import语句的使用。
7、 理解引用变量与对象实例之间的关系与区别;
8、 理解方法调用时引用类型参数的传递过程;
9、 掌握private、protected、public等关键的使用场合与使用方法;
10、 掌握对象组合的方式与方法;
11、 理解Java中方法重载的实现方式。
二、实验要求
1、 根据实验步骤中提出的要求,编写相应的Java程序;
2、 编译、运行自己所编写的Java程序;
3、 根据编译与运行过程中所获得的错误信息修改程序直至获得正确的结果;
4、 记录实验中遇到的各类问题并以及解决办法。
三、实验步骤
(一)实验二-1
1、阅读给出的部分代码和题目描述;
2、理解题意,构思框架;
3、改正代码中基础语法错误;
4、根据题目和所给出的部分代码,书写缺少的代码,保证无语法错误;
5、测试代码并修正代码中的可能错误和疏漏;
6、在规定的最后期限前提交代码。
(二)实验二-2
1、阅读题目描述,和改进要求;
2、根据题目要求思考改进方法;
3、书写代码,保证无语法错误;
4、测试代码并修正代码中的可能错误和疏漏;
5、在规定的最后期限前提交代码。
四、实验结果
(一)实验二-1
无论如何输入,结果总是loss
(二)实验二-2
经过改进,可以出现win的结果,并实现了类的封装性
五、实验小结
1、对类的封装性有了进一步的了解;
2、逻辑思考能力有一定的提高;
3、对于eclipse的调试功能的使用更加熟练。
搜索
复制