📄 readme.txt
字号:
4个类我都帮你做了,运行正常,但是有些地方还需要进一步完善。。
我先说一下这四个类的基本意思吧。。
(可以对照代码看)
首先是CPassenger
它是一个旅客类,用来维护旅客信息。有四个基本属性,名字、性别、国籍、护照号码。
提供构造方法,题目要求还要有个查阅方法toString。这个很简单,跟c++也一样。
然后是CFlight
航班类,用来维护航班信息。这个属性还真多,航班编号、飞机型号、出发地、目的地、起飞时间、座位数目、搭载的旅客信息,这些名字我都想不出来,你继续想,呵呵。。
旅客信息因为是不定长数组,所以我用Vector装的所有预订本航班旅客。
一样提供构造方法,题目中要求的“设定航班信息”,我一直也没太明白,是要一项一项设?反正我的set方法也都写了,只是没测试,你要是无聊就加点我看也行。一样的toString。
接着我们看下CTester
这个是用来测试的,main函数就在这里了。。
初始化一些信息之后就开始测试了。。具体看代码和注释,挺简单的。。
// CPassenger toString
String result = "P001_China_luanma_Female";//预计结果
assertTrue("1: testing CPassenger method toString", result
.equals(passenger.toString()));
stdOut.println("1: testing CPassenger method toString:\n" + "预计结果:"
+ result + "\n实际结果:" + passenger.toString());
这个其实显示的方式就多种多样了,我反正是写成这样了,估计跟别人一摸一样的可能性很小,都无所谓的。。
最后是CReservation
这个类稍微有点复杂,它的作用就是将旅客和航班连起来。
有了旅客p航班f怎么把pf连起来呢?先是book方法。
题中要求“进行订位 (把某个旅客加到某班机的某个座位编号上)”,我做实验的时候是不允许这么做的,所以这个事情我后来补救了1个半小时,脑子就是转不过来。。
关于固定座位实在不是很理解,目前的解决方案是给旅客添了个属性叫seatID,专门记录p的座位。
然后f的容量有多少,座位就是按号编的。比如容量5的航班(开玩笑,专机嘛),座位就是S0、S1、S2、S3、S4。
刚刚说CFlight中有个Vector装的是所有定了本航班的旅客。所以订票实际上就是把p放进f的那个装CPassenger的Vector里。这样这个旅客p就相当于是这个航班f的一个属性,有了f就能找到p。相应的找人的方法也就解决了。
但是用p怎么找f呢?这个比较恶心。。我想了两种解决方案,一种是在旅客类里加个属性叫航班,另一种是遍历所有的航班中所有的旅客,在哪里找到,哪里就是想要的f。个人倾向第一种,但实际却是用的第二种。为什么呢?我也不知道。
我只知道以前做的一个卖咖啡的系统给的信息就是这么做的,可能是这种比较难,比较费劲。另外小规模的测试用都差不多,你要是嫌恶心,还是改一下吧。。我都不知道自己咋想的。。
要遍历所有航班,所以要有个Vector装航班,新建一个航班就要加进来一个,真痛苦。。
其他方法类似,不再赘述,有看不懂的地方再联系我,我qq597262893,基本每天在1小时,不在的话给我留言就行了。。
会不会觉得我像是唐僧他妈生的啊,其实我平时不这样,也不知道今天是咋了,哎。。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -