package main; import java.util.ArrayList; /** * (10分) * 做一个简单的银行、账户演示程序。 * (1)定义一个账户类,包含用户名、密码、余额等属性、存钱、取钱等方法。 * (2)定义一个银行类,包含银行名、账户列表等属性,开账户、查账户的功能。账户列表可以使用集合相关的类, * 如ArrayList,最好同时使用泛型。 * (3)定义一个测试类及main函数,在其中创建一个银行,开设一些账号,模拟存钱、取钱、显示余额等。 */ public class Main { public static void main(String[] args){ Bank bank = new Bank("HDBank"); bank.openAccount("xiaoming","666",0); bank.openAccount("xiaoli","777",0); bank.openAccount("xiaohong","888",0); bank.saveMoney("xiaoli",100); //向特定账户存钱 bank.drawMoney("xiaoli",50,"777"); //从特定账户取钱,需验证密码 bank.showAccount("xiaoli"); //显示xiaoli账户信息 bank.drawMoney("xiaoli",100,"a wrong password"); //密码错误,取钱失败的情况 bank.drawMoney("xiaoli",100,"777"); //余额不足的情况 } } class Account{ private String userName; private String password; private double balance; Account(String userName,String password,double balance){ this.userName = userName; this.password = password; this.balance = balance; } public void save(double money){ //存钱 balance += money; System.out.printf("%s存了%.2f元,账户余额为%.2f元。\n",userName,money,balance); } public void draw(double money){ //取钱,若账户余额不足,则不能取钱 if(balance - money <= 0) { System.out.printf("%s取钱%.2f,账户余额为%.2f元。",userName,money,balance); System.out.println("余额不足,取钱失败。"); }else { balance -= money; System.out.printf("%s取了%.2f元,账户余额为%.2f元。\n", userName, money, balance); } } public void show(){ //显示账户信息 System.out.printf("userName:%s\n",userName); System.out.printf("balance:%.2f\n",balance); } public String getUserName(){ //得到用户名 return userName; } public String getPassword(){ //得到密码 return password; } public String getInfo(){ //返回账户信息 return "userName:"+userName+",banlance:"+balance; } } class Bank{ public String bankName; private ArrayList<Account> accounts; Bank(String bankName){ this.bankName=bankName; accounts=new ArrayList<Account>(); } Bank(String bankName,ArrayList<Account> accounts){ this.bankName=bankName; this.accounts=accounts; } public void openAccount(String userName,String password,double balance){ //开账户 accounts.add(new Account(userName,password,balance)); } public Account seekAccount(String userName){ //查找账户按用户名,若找到,返回该账户,否则,返回null for(Account account:accounts){ if(userName.equals(account.getUserName())) return account; } return null; } public void showAccount(String userName){ Account account=seekAccount(userName); if(account==null) System.out.println("该账户不存在。"); else account.show(); } public void saveMoney(String userName,double money){ //向特定账户存钱 Account account = seekAccount(userName); //查找 if(account==null) System.out.println("该账户不存在。"); else account.save(money); } public void drawMoney(String userName,double money,String password){ //从特定账户取钱,需验证密码 Account account = seekAccount(userName); //查找 if(account==null) System.out.println("该账户不存在。"); else { if(password.equals(account.getPassword())) { account.draw(money); }else { System.out.println("密码不正确,取钱失败。"); } } } }
java练习题-银行客户
猜你喜欢
转载自blog.csdn.net/diOSyu/article/details/80215705
今日推荐
周排行