设计ATM仿真系统,具体要求参见作业说明。 OO作业9-1题目说明.pdf
输入格式:
每一行输入一次业务操作,可以输入多行,最终以字符#终止。具体每种业务操作输入格式如下:
取款功能输入数据格式: 卡号 密码 ATM机编号 金额(由一个或多个空格分隔)
查询余额功能输入数据格式: 卡号
输出格式:
①输入错误处理
如果输入卡号不存在,则输出Sorry,this card does not exist.。
如果输入ATM机编号不存在,则输出Sorry,the ATM’s id is wrong.。
如果输入银行卡密码错误,则输出Sorry,your password is wrong.。
如果输入取款金额大于账户余额,则输出Sorry,your account balance is insufficient.。
②取款业务输出
输出共两行,格式分别为:
业务:取款 [用户姓名]在[银行名称]的[ATM编号]上取款¥[金额]
当前余额为¥[金额]
其中,[]说明括起来的部分为输出属性或变量,金额均保留两位小数。
③查询余额业务输出
业务:查询余额 ¥[金额]
金额保留两位小数。
输入样例1:
在这里给出一组输入。例如:
6222081502001312390 88888888 06 500.00
结尾无空行
输出样例1:
在这里给出相应的输出。例如:
业务:取款 张无忌在中国工商银行的06号ATM机上取款¥500.00
当前余额为¥9500.00
结尾无空行
输入样例2:
在这里给出一组输入。例如:
6217000010041315709 88888888 06 3500.00
结尾无空行
输出样例2:
在这里给出相应的输出。例如:
业务:取款 杨过在中国工商银行的06号ATM机上取款¥3500.00
当前余额为¥6395.00
结尾无空行
输入样例3:
在这里给出一组输入。例如:
6217000010041315715
结尾无空行
输出样例3:
在这里给出相应的输出。例如:
业务:查询余额 ¥10000.00
结尾无空行
输入样例4:
在这里给出一组输入。例如:
6222081502001312390 88888888 01 500.00
6222081502051320786 88888888 06 1200.00
6217000010041315715 88888888 02 1500.00
6217000010041315709 88888888 02 3500.00
6217000010041315715
结尾无空行
输出样例4:
在这里给出相应的输出。例如:
业务:取款 张无忌在中国建设银行的01号ATM机上取款¥500.00
当前余额为¥9490.00
业务:取款 韦小宝在中国工商银行的06号ATM机上取款¥1200.00
当前余额为¥8800.00
业务:取款 杨过在中国建设银行的02号ATM机上取款¥1500.00
当前余额为¥8500.00
业务:取款 杨过在中国建设银行的02号ATM机上取款¥3500.00
当前余额为¥5000.00
业务:查询余额 ¥5000.00
结尾无空行
输入样例5:
在这里给出一组输入。例如:
6640000010045442002 88888888 09 3000
6640000010045442002 88888888 06 8000
6640000010045442003 88888888 01 10000
6640000010045442002
结尾无空行
输出样例5:
在这里给出相应的输出。例如:
业务:取款 张三丰在中国农业银行的09号ATM机上取款¥3000.00
当前余额为¥6880.00
业务:取款 张三丰在中国工商银行的06号ATM机上取款¥8000.00
当前余额为¥-1416.00
业务:取款 张三丰在中国建设银行的01号ATM机上取款¥10000.00
当前余额为¥-11916.00
业务:查询余额 ¥-11916.00
结尾无空行
import java.util.ArrayList;
import java.util.Scanner;
import java.util.Iterator;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String []args) {
Card bankList=new Card();
bankList.list.add(new Banks("中国建设银行"));
bankList.list.add(new Banks("中国工商银行"));
bankList.list.add(new Banks("中国农业银行"));
User user1=new User("杨过","88888888",10000.00);
user1.setAccount("借记");
User user2=new User("郭靖","88888888",10000.00);
user2.setAccount("借记");
User user3=new User("张无忌","88888888",10000.00);
user3.setAccount("借记");
User user4=new User("韦小宝","88888888",10000.00);
user4.setAccount("借记");
User user5=new User("张三丰","88888888",10000.00);
user5.setAccount("贷记");
User user6=new User("令狐冲","88888888",10000.00);
user6.setAccount("贷记");
User user7=new User("乔峰","88888888",10000.00);
user7.setAccount("贷记");
User user8=new User("洪七公","88888888",10000.00);
user8.setAccount("贷记");
user1.addAccount(new Account("6217000010041315709",user1));
user1.addAccount(new Account("6217000010041315715",user1));
user1.addAccount(new Account("6217000010041315718",user1));
user2.addAccount(new Account("6217000010051320007",user2));
user3.addAccount(new Account("6222081502001312389",user3));
user3.addAccount(new Account("6222081502001312390",user3));
user3.addAccount(new Account("6222081502001312399",user3));
user3.addAccount(new Account("6222081502001312400",user3));
user4.addAccount(new Account("6222081502051320785",user4));
user4.addAccount(new Account("6222081502051320786",user4));
user5.addAccount(new Account("6640000010045442002",user5));
user5.addAccount(new Account("6640000010045442003",user5));
user6.addAccount(new Account("6640000010045441009",user6));
user7.addAccount(new Account("6630000010033431001",user7));
user8.addAccount(new Account("6630000010033431008",user8));
bankList.getBank("中国建设银行").addPerson(user1);
bankList.getBank("中国建设银行").addPerson(user2);
bankList.getBank("中国工商银行").addPerson(user3);
bankList.getBank("中国工商银行").addPerson(user4);
bankList.getBank("中国建设银行").addPerson(user5);
bankList.getBank("中国工商银行").addPerson(user6);
bankList.getBank("中国农业银行").addPerson(user7);
bankList.getBank