qidao123.com技术社区-IT企服评测·应用市场

标题: 我的第二次博客作业 [打印本页]

作者: 曂沅仴駦    时间: 2023-5-17 23:28
标题: 我的第二次博客作业
AZ-1的第二次博客作业

AZ-1 - 博客园 (cnblogs.com)
前言

题量

难度

知识点

题目集四 7-1 菜单计价程序-4

设计与分析



这个程序由7个类组成,分别是Dish类、Menu类、Record类、Order类、Main类、Time类和Table类。
Dish类包含菜的名字、打折后价格、Boolean型数flag(这道菜是否是特色菜的标志)、Dish的构造方法和每道菜的价格计算方法。
Menu类包含一个Dish数组、整型数i(记录菜单中共有几道菜)、Menu的构造方法、向Menu中添加菜的方法和查找菜品的方法。
Record类中包含用户点的菜、每道菜的份量、每道菜的数量、点菜的序号、Boolean数flag(标志用户点的是不是特色菜)、这条记录的价格、Record的构造方法和计算这条记录的价格的方法。
Order类中包含Record数组、整形数num(记录订单中有几条点菜记录)、整型数lastOrderNum(记录该订单中的上一条点单记录的点菜序号)、计算总价格的方法、添加点菜记录的方法和删除点菜记录的方法。
Time类中包含Calendar类对象cal、整型数(year、month、day、hour、minute、second、week)、Time的构造函数、judge方法判断Table对象是否在营业时间。
Table类包含Time类对象time、Order类对象order、anotherOrder(帮别桌点菜的记录)、String对象num(桌号)、double对象discount(记录该桌的折扣)、totalPrice(该桌打折后的总价)、originalPrice(该桌的初始价格)、Boolean型对象flag(判断该桌是否第一次点菜)、flag1判断特色菜是否打折、judge方法判断该桌打几折、searchTable方法根据桌号找桌对象。
 踩坑心得

心得:熟练地使用正则表达式可以准确地筛选出正确的输入形式,剔除各种各样奇奇怪怪的错误输入。
给Dish中的dishName加private修饰词:

心得:现在我们的程序只要能够运行拿满分就够了,目前还不会涉及到数据的私密性,没有必要把数据的访问权限设置地太高。

心得:虽然我们几乎可以给变量起无数种名字,但是果然还是同样的名字方便日后理解。
正确输出:

错误输出:

 心得:在编写程序时要时刻记得题目要求,内心要有一个程序运行的大概的流程,按照要求一步一步地编写程序。
改进建议

题目集五 7-1 菜单计价程序-5

设计与分析



这个程序由8个类组成,分别是Dish类、Menu类、Record类、Order类、Main类、Time类、Table类和Customer类。
Dish类包含菜的名字、打折后单价、Boolean对象flag(这道菜是否是特色菜的标志,如果这道菜是特色菜,String对象记录该特色菜的种类(即川菜、浙菜等))、Dish的构造方法和每道菜的价格计算方法。
Menu类包含一个Dish数组、整型数i(记录菜单中共有几道菜)、Menu的构造方法、向Menu中添加菜的方法和查找菜品的方法。
Record类中包含用户点的菜、每道菜的份量、每道菜的数量、点菜的序号、Boolean对象flag(标志用户点的是不是特色菜,如果是特色菜,String对象记录该特色菜的种类(即川菜、浙菜等))、这条记录的价格、Record的构造方法和计算这条记录的价格的方法。
Order类中包含Record数组、整形数num(记录订单中有几条点菜记录)、计算订单总价格的方法、添加点菜记录的方法和删除点菜记录的方法。
Time类中包含Calendar类对象cal、整型数(year、month、day、hour、minute、second、week)、Time的构造函数、judge方法判断Table对象是否在营业时间。
Table类中包含String对象name和phoneNumber、Time类对象time、Order类对象order、anotherOrder(帮别桌点菜的记录)、String对象num(桌号)、double对象discount(记录该桌的折扣)、totalPrice(该桌打折后的总价)、originalPrice(该桌的初始价格)、Boolean对象flag1判断特色菜是否打折、double对象spicy(储存该桌辣菜的总辣度)、sweetNess(储存该桌甜菜的总辣度)、acidity(储存该桌酸菜的总辣度)、int对象spicyAmount(储存该桌辣菜的总数量)、sweetNessAmount(储存该桌甜菜的总数量)、acidityAmount(储存该桌酸菜的总数量)、boolean对象spicyFlag(该桌有没有点辣菜的标志)、sweetFlag(该桌有没有点甜菜的标志)、acidityFlag(该桌有没有点酸菜的标志)、void judge()方法判断该桌打几折、searchTable方法根据桌号找桌对象、String judge(String kind,int a)把平均口味度转化为字符标准、taste方法计算该桌的口味度的总和以及特色菜的总量、tasteCalculation方法计算该桌特色菜的平均口味度、showTaste方法输出该桌的平均口味度的字符形式以及每种口味的特色菜的总量。
Customer类中包含String对象name、phoneNumber、double对象totalPrice(这个顾客点菜的总价格)、record方法记录该顾客的名字,电话号码以及点菜的总价格。
 踩坑心得

错误的输出顺序:

正确的输出顺序:

心得:答案对固然重要,但是也要格式对才能得分。
错位的价格计算顺序:

正确的价格计算顺序:
4
心得:在编写程序前应该认真地研读题目要求,思考清楚程序运行过程再进行编写,避免出现逻辑错误。
输入
东坡肉 浙菜 25 T
油淋生菜 9
蜜汁灌藕 浙菜 10 T
刀削面 晋菜 10 T
醋浇羊肉 晋菜 30 T
麻婆豆腐 川菜 12 T
麻辣鸡丝 川菜 15 T
table 1 : tom 13605054400 2023/5/6 12/30/00
1 油淋生菜 2 1
table 2 : jerry 18100334566 2023/5/1 12/30/00
1 1 醋浇羊肉 4 1 2
3 麻婆豆腐 2 2 1
4 麻辣鸡丝 2 3 3
end
错误输出:

正确输出:

心得:编写程序的过程中要专注,避免遗漏一些简单的部分。
错误输出:

正确输出:

心得:虽然题目中没有给出相应的测试样例,但我们可以在不断的试错中把题目需要的格式测出来
错误输出:

正确输出:

 心得:在编写程序前应该认真地研读题目要求,思考清楚程序运行过程再进行编写,避免输出的答案与题目要求不符合。
改进建议

期中考试 7-1 测验1-圆类设计

设计与分析


这个程序由2个类组成,分别是Circle类和Main类。
Ciecle类中包含r(半径)、getS方法、setR方法和Circle的构造方法。
 踩坑心得

错误输出:

 正确输出:

 心得:编程时要注意题目的要求。
改进建议

期中考试 7-2 测验2-类结构设计

设计与分析


这个程序由3个类组成,分别是Point类、Rectangle类和Main类。
Point类中包含x、y、getY方法、getX方法、setX方法、setY方法和Point的构造方法。
Rectangle类中包含Point类对象lowerRightPoint和toLeftPoint、setLowerRightPoint方法、getLength方法、getToLeftPoint方法、setToLeftPoint方法、getLowerRightPoint方法、getHeight方法、getArea方法和Rectangle的构造方法。
期中考试 7-3 测验3-继承与多态

设计与分析


这个程序由5个类组成,分别是Shape类、Circle类、Point类、Rectangle类和Main类,Shape类是Rectangle类和Circle类的父类。
Point类中包含x、y、getY方法、getX方法、setX方法、setY方法和Point的构造方法。
Rectangle类中包含Point类对象lowerRightPoint和toLeftPoint、setLowerRightPoint方法、getLength方法、getToLeftPoint方法、setToLeftPoint方法、getLowerRightPoint方法、getHeight方法、getArea方法和Rectangle的构造方法。
Ciecle类中包含r(半径)、getS方法、setR方法和Circle的构造方法。
Shape类中包含getArea方法和Shape的构造方法。
 踩坑心得

错误输出:

 
 正确输出:

 心得:为了实现功能可以使用一些不太合适的改动。
改进建议

期中考试 7-4 测验4-抽象类与接口

设计与分析


这个程序由5个类组成,分别是Shape类、Circle类、Point类、Rectangle类和Main类,Shape类是Rectangle类和Circle类的父类。
Point类中包含x、y、getY方法、getX方法、setX方法、setY方法和Point的构造方法。
Rectangle类中包含Point类对象lowerRightPoint和toLeftPoint、setLowerRightPoint方法、getLength方法、getToLeftPoint方法、setToLeftPoint方法、getLowerRightPoint方法、getHeight方法、getArea方法和Rectangle的构造方法。
Ciecle类中包含r(半径)、getS方法、setR方法和Circle的构造方法。
Shape类中包含getArea方法和Shape的构造方法,Shape类实现了Comparable接口,方法为compareTo(Shape)。
 踩坑心得

错误输出:

 正确输出:

 心得:可以通过试错来理解一些方法。
改进建议

总结


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/) Powered by Discuz! X3.4