该用户从未签到
2C部分:+ m) M( A! D4 u* H+ M
打开工程后,在src目录下的A2_2C包,该部分与A2_2A2B部分没有必然关联,可以单独提出使用,以下对类说明(另注:所有注释均为英文,本txt单独供给你使用):7 J# A( }9 y g
DateTime.java :实验pdf给的时间类,在2C中我将其序列化,以便储存。& P' a. Z, b3 i
/ R; }. M: S) v2 S; X- y6 w StatusException.java:自定义状态异常,继承自Exception异常类,使用父类方法,当车辆操作不当时,抛出异常。例:车被租赁,则不能被服务;车为可用,则不能还车。( C: Y8 A& [- c7 F$ s
# t! M! W- R+ b3 I OdometerException.java:自定义里程数异常,继承自Exception异常类,使用父类方法,当输入里程数小于原始里程数时,抛出异常。例,车被租赁时,里程数为100000,则还车时,输入里程数必须大于100000,否则报异常。(注:这里应该就是你2A数据不变的原因,因为输入的里程数不够大,所以只会报警告,数据不变)。
7 O4 Q* c7 v; w0 z6 [ * h. S' Y2 Z2 g
Customer.java: 抽象客户类,有抽象方法:获得折扣。: ~/ L A4 W5 l
' O( F# U7 z+ W1 O ICustomer.java:继承Customer类,个体客户,折扣计算方式为个人累积行车里程超过多少公里便可获得多少折扣,默认为超过100000折扣0.1,超过200000折扣0.2,注意,不包含100000或200000 。0 @* \, u, N) [+ K8 p" I" N
$ w( ]) O! x$ ]6 e7 } CCustomer.java : 继承Customer类,公司客户,折扣计算方式为与租赁公司的关系,直接设置,运行期间在初始化该类时的倒数第二参数即是,设值在0~1之间,我默认有写入两个该实体Cust05,Cust06,分别设值0.1与0.2。
3 _. K1 l; A+ z7 m 6 f4 V' ?- L0 h9 J8 Q
vehicle.java:不做详述,普通车辆,相对2B,修改了部分方法内容,加入异常抛出。
% b. Z$ H/ Y7 s4 j7 O
) a- O/ b& f) p PremiumVehicle.java:不做详述,继承自vehicle类,高级车,相对2B,修改了部分方法内容,加入异常抛出。
2 N- [; R9 P3 t
; \: M. Z8 t4 k" B7 d ManageHiring.java:管理租赁类,唯一可运行类,出现管理菜单,包含所有相关处理方法,具体见类内注释,基本所有我能想到的错误均做了处理,提示应该能看懂,% O6 G- Q) h) Q. A' {
! o- A$ D% m& k: I. l% a 需注意我的main方法中分了两大块(均有明显注释),第一块为正常菜单(未被注释掉),第二块为测试数据(被注释掉),测试数据中向文件中写入了4个普通车辆,2个高级车;4个个体客户,2个公司客户(额不晓得你看过RWBY动漫木有,客户名字应该比较熟悉),以及进行写入4次有效的租赁相关操作(见transactions.txt),当然如果三个txt都是空或者都被删掉后执行会是如此,不然就全是无效操作。
0 O# G0 K7 G2 m4 `. Y6 |2 |: q% a% z & e5 X, ~. j2 }& X1 ~" ]4 H2 U
customers.txt:储存两种类型客户的所有数据,以对象形式储存,已序列化,所以内容被加密,所以直接打开文件是乱码。 }- d, @2 }- D$ k3 S% B( M- [* t
vehicle.txt:储存两种车辆的所有数据,其它同customer。 A; o. U0 l' v0 H8 m
transactions.txt:储存所有成功的租赁相关操作,包括租赁成功,还车成功,送服务成功,服务完成功。不需要以对象形式储存,直接格式化后输入,可直接打开查看。备注:由于我的本机默认是中国时区,所以显示的时间是中文,如果你电脑是美国时区,则时间输出就和文件要求一样,是英文了,毕竟实验就是外国的。如文件中是Wed Aug 18 (9:15),我电脑会直接显示成星期三 八月 18 (9:15)
6 }- P) P, {. }% x$ D+ p / P1 V. m* W- a6 a3 m* X
注意!:% _) D1 G8 B$ I" W# j: _* q' P, Z
如果你不需要初始默认数据,那么可以直接把src下三个txt文件删掉,同时保持菜单这块没有被注释,测试这块注释掉,然后直接执行即可,文件会重新生成的。
5 T& V8 S1 ?" \9 f! J 如果需要初始默认数据,则将src下三个txt文件删掉,同时保持菜单这块被注释,测试这块没有被注释掉,然后直接执行即可,文件会重新生成,并存入我设置的一些数据和操作, y5 h3 Y5 ~7 B- ^
当前给你的工程状况是:已经有初始数据,菜单块未被注释,测试块被注释。三个txt文件均有数据,第一辆普通车车QTJ123被第一个个人客户Cust01租赁、还车、服务、返回% W# A1 t* G0 Z7 r% Q$ U
其中transaction中日志时间记录为中文。) j+ M, ~7 K0 A1 _. |* O1 `$ Z
; ]3 i5 B/ w7 j% l 最后,建议把实验pdf最好看完,对业务有个了解,不然直接看代码或许比较蛋疼。
! x% k1 Y, s- _: Y; M & a/ l( P; q# q9 @8 I0 O$ }6 p% W0 v
科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关2、本站所有主题由该帖子作者发表,该帖子作者与科帮网 享有帖子相关版权3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网 的同意4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意7、科帮网 管理员和版主有权不事先通知发贴者而删除本文
JAVA爱好者①群:
JAVA爱好者②群:
JAVA爱好者③ :