java第三次作业


一、前言

(1)PTA大作业五前言:

此次作业已经是我们学习中期的一次作业了,作业内容较为综合,考察知识点较为多样,增加了很多自学知识点(如:正则表达式的应用),由于学习过程的推进你,在此后的作业、考试中均运用了类(class)方法,增加了代码的可读性和使用性,对代码的修改更加便捷,题目的复杂性,更是对我们寻找关键内容进行了加强训练,使我们即便在多样的实际应用中,也能找到正确的问题理解。经过此次作业,使我们对类与对象的关系有了更深刻的认识。

 

二、设计与分析

 

本题大致意思为:

在原来题目的基础上增加一个新的类GeometryObject,利用数组列表完成代码,将类GeometryObject作为容器,向其中增加Point、Line、Plane对象,并再此类中增加判断。

 

输入:输入数据,最后以end结束

 

输出:对输入数据进行算法运算后,输出相应的格式

 

思路:输入后,利用if语句进行判断合法性,然后进行算法计算。

 

以下为本题类图

 

 

 

以上为选择输入。

 

这是新建的类GeometryObject,作为容器类,利用了数组列表。

 

⑦实验一

本题大致意思:

某班有30名学生,每个学生有学号、姓名和4门成绩(学生信息随机产生,存入一个对象数组),现新转来一名学生,请输入这位学生的学号、姓名和成绩(四门课的成绩小于100分,从键盘输入,以空格为区分),然后显示这名学生平均分、最高分,全班的最高平均分学生信息、新同学在班级中的成绩水平。

 

输入:新同学的学号、姓名、四门成绩

 

输出:输出这名学生平均分、最高分,全班的最高平均分学生信息、新同学在班级中的成绩水平。

 

思路:创建一个学生类(Student),先将30名学生的姓名创建并保存在字符串数组中,再使其对应每一个学号,然后随机产生分数,最后将输入的新的学生的成绩进行比较输出。

 

 

学生类(Student)

 

⑧实验二(1)

本题大致意思为:

一个农夫带着一匹狼、一只羊、一颗白菜要过河,河上只有一条船能够渡河,而且农夫每次最多只能带一个动物或物品过河。当农夫不在的时候狼会吃羊,羊会吃白菜。:由用户选择角色过河,系统自动判断游戏的胜负:当出现有生物被吃掉的时候,游戏失败,所有角色都到了河的另一边,游戏成功。

 

输入:输入1~5的数字

 

输出:输出农夫、狼、羊、白菜的现状(是否过河、是否被吃掉)

 

思路:在原有代码的基础上创建四个新的类:农夫类、狼类、羊类、白菜类,在类中进行输出其各自的状态。

 

 

⑨实验二(2)

本题大致意思为:与实验二(1)相似,但增加了船类(Boat),还需要输入狼和小羊的名字,并存储在各自的类中。

 

输入:先输入狼和羊的名字,再输入1~5的数字

 

输出:输出农夫、狼、羊、白菜的现状(是否过河、是否被吃掉)

 

思路:在原有代码的基础上创建六个新的类:农夫类、狼类、羊类、白菜类、船类、父类(fatherClass),其中父类是其他五个类的共同父类,在类中进行输出其各自的状态。

 

 

 

以上是父类的全部内容。

 

三、踩坑心得

①此次我学习使用了类,并使用了父类和子类、抽象类,但由于初次学习,还是有很多重复余需要改的地方,代码可读性较差,后期需要进一步学习。

②代码啰嗦,没有很好的规划,导致无法修改而全部重写,所以在后续的学习中需要对运算的思维进行把握,流程图成为了关键,思维导图是必需步骤。

 

四、改进意见

①采用输一个数据判断一个数据的模式,进行运作很麻烦。在前两次的作业中,并未用到数组,因此加大了工作量(采用的switch语句),因此可以用数组代替switch语句。

②代码混乱,三次作业,均为采用类(class),导致所有的代码均存放在Main中,导致后期修改麻烦,找不到模块。因此,可以将Main中的功能放到类中,提高代码可读性。

③由于对继承和多态的理解不够深入,导致出现很多小错误,希望以后可以减少甚至避免小错误的出现。

 

五、总结

①因为C语言的函数没有学好,导致Java的类的使用也出现了很多错误,比如实参和形参的运用,数据的传递等,在日后的学习需要对类再进行学习和探索。

②通过半个学期的练习,基本对Java有了一个进一步的认识,Java功能的多样性随之而来的是其难度的提高,因此,对Java的学习必将更加刻苦。

 

 
 
 
 
 
 
posted @ 2023-06-26 21:48  不要坏女人  阅读(45)  评论(0)    收藏  举报