前言:

三次的题目的难度不高,有难度的题目数量并不多大多数都是以基础为主,知识点覆盖在类,方法,循环等基础知识为主,还有部分知识需要自学比如题目集三的正则表达式。

第三次的题目数量少,但却是难度最高的一次作业,要我们定义类并使用类,最后的题目还需要自学正则表达式,这次的作业很有难度,要对程序的需求分析精准,不断修改正则才能达到预期结果。

 

设计与分析:

题目集一:

1·输入三角形的三条边abc类型为double类型。

 

 

2·运用数学中的三角形三边关系作为 if()判断的条件。

3·重复运用else if 来达到多种输出的判断。

 

题目集二:

7-4:


想要输出合法日期的下一天首先要判断输入日期是否合法,比如2月30日为非法输入,首先先要判断输入年份是平年还是闰年。

然后判断输入的月份的日期是否合法,31天的月份和30天的月份运用不同的方法进行判断。

在输出下一天时还需要判断月份的变更和年份的变化,如果输入的日期为每月的最后一天时对应的月份需要+1,而日期要变为1,如果输入日期为12月31日,那么输出的日期年份要+1,而月份和日期变为1月1日。

 

 

这道题目中可以用到布尔值返回值来做到判断。

7-5

和7-4相差不多,主要是对输入日期和输出日期的判断。

首先要保证的就是输出的日期是否合法,这就需要在7-4中加入更多的判断和方法,同样也要考虑到月份和年份的变更。

对输入的变更条件做出判断输出的是几天前的日期·还是几天后的日期,再调用不同的方法来对输出日期进行判断。

输出修改的日期的时候不能忽略掉月份的变化,日期相加或相减得到的数字大于月份最高日期需要进入到下个月份或是下几个月份,当运算的到的日期为负数是需要进入到前一个月份或是前几个月份。

题目集三:

7-2

这道题需要我们根据Date类的结构来构造Date类。

需要调用Date类中的方法进行判断和输出,大体的判断内容和题目集二中的题差不多,我们只需要掌握和运用类就可以达到题目的要求。

Date类中的方法并不需要全部的写入到类中,只要将自己需要使用的方法写入会节省部分的时间和空间。

在调用Date类前需要写Date x = new Date来实现。

 

 

7-3

第三题难度高,需要运用正则表达式来检验表达式的合法性。

检验表达式中存在的空格需要先进行过滤。

想要转变导函数要用到多个判断和数学中的导数知识。

踩坑心得:

有时在编译器中写好的代码在pta进行提交时会部分报错,比如在题目集三7-2中会提示5月错误和跨年错误,可是在编译器上时输出是正确的。

还有就是类名要用Main,在编译器上是的类名是自己写的,而在pta上就需要Main类名不然会报错。

编写时的格式一定要注意规范,我在写一些要用到很多的判断和循环的方法时会经常的删改,这时括号就会多到眼花缭乱,很难找到多出来的括号,看的会让人头疼,而且有的地方报错的话还要找很就才能找到

越域的地方。

每次编写时一定要写完一个方法就检查一次是否能正常运行,不然等到整个程序写完的时候在修改bug真的会让人很麻烦,不仅需要改动的地方很多,而且一大片的代码让人看得很头疼。

改进建议:

以后在遇到需要很多判断的要求时应该根据情况分成多个方法来写,避免出错都不知道在哪里出错,比如在题目集·三7-2中就因为很多判断没有分开造成很多麻烦。

 

 

这样就很麻烦,在下次编写时我会注意到这样的问题并且进行改进。

总结:

本次阶段的学习让我了解了java的基本类和方法的使用,在面向对象程序设计的课程中还有许多地方需要学习和精进,在了解了基础上需要做到精通和掌握,对于数组和字符的学习并不是很了解,其中大部分的语句话和方法还不知道,对类的封装的学习还很浅薄,需要时间和具体的例子才能初步了解。

课上希望老师能够多讲些具体的方法的使用和实例的讲解,还有很多的知识盲区也希望老师能够多在课上进行讲解。

 

posted on 2021-04-04 22:50  w-m-x  阅读(58)  评论(0编辑  收藏  举报