华为通信软件大赛机试题目源代码

2009年12月25日 16:23    发布者:诸葛孔明
要求模拟银行终端系统。

简化为只有一个客户,该客户有美元帐户和人民币帐户。

本来要求是用socket实现,我把socket去掉了改成在控制台实现

0 运行程序会提示等待用户输入
1、用户输入 r
2、提示请输入操作类型,0查询,1取款,2存款
3、
a)
用户输入0则系统进入STATUS_07查询余额状态。转4 a)
b)
用户输入 1 或者2,系统进入STATUS_02
状态
转 4
b)
c) 用户输入其他  提示输入非法 即return new Result(new status.Error(status.Error.ERROR_00))

4、
a)
显示用户余额,转3
b)
系统提示 “就请输入币种,1人民币,2美元” 转5

5、用户输入 相应币种,系统进行相应存取操作


注意:1、系统初始化时置美元帐户2000,RMB帐户10000

2、1美元=5元

3、每人信用额为1000美元或相应人民币

4、取钱时,如果相应帐户余额足够则支取,如果该帐户余额不够但两个帐户加起来够则先把要支取的帐户置为0,再减去另外的帐户相应的余额;如果两个帐户都不够但是所剩信用额还够则用信用支取,则先把两个帐户都清零再扣除要支取帐户相应透支额,支取后余额为负数。注意当有一个余额为负数时另一个帐户余额不能大于0。

5、存钱时 注意保证不能一个帐户余额大于0,另一个小于0.具体规则读者看着设置吧。我也记不住了。总之就是有欠款先还欠款

6、要求不能用System.out.println()之类的输出语句,因为取款机在客户端。所有的输出都通过返回值result显示。读者只能完成和修改ATMServiceImpl 类,其它类不能修改。测试的话点击Tester类运行即可
该文章有附件资料,如需下载请访问 电脑版

网友评论

jeff 2010年07月02日
学些了
sonny 2011年03月21日
学习了,先收藏下
感谢分享