华恩JAVA班第17天
import java.util.*; public class BankApp { static BankService bankService = newBankService(); public static void main(String[] args) { Scanner sc = new Scanner(System.in); boolean flag = true; while (flag) { printWecomeInfo(); println("请选择操作项:"); int value =sc.nextInt(); if(value == 1){ //显示下一级菜单 operBusiness(sc); }else if(value == 2){ flag =false; }else{ printWecomeInfo(); } } } public static void operBusiness(Scannersc){ boolean flag = true; Random rnd = new Random(1000); while (flag) { printSysMenuInfo(); println("请选择操作项:"); int value =sc.nextInt(); switch (value) { case1: println("开户业务: "); println("请输入户名: "); String name = sc.next(); println("请输入年龄: "); int age = sc.nextInt(); println("请输入性别: "); String sex = sc.next(); println("请输入手机: "); String phone = sc.next(); println("请输入地址: "); String address = sc.next(); Account account = new Account(name, age,sex,phone,address); if(bankService.checkAccount(account)){ int no = rnd.nextInt(1000); println("生成的卡号:"+no); println("输入卡的密码:"); String pwd = sc.next(); Card card = new Card(String.valueOf(no),0d); account.setCard(card); card.setAccount(account); card.setPassword(pwd); bankService.createAccount(account); }else{ println("账户名称不正确!"); } break; case2: qk(sc); break; case3: //存款时需要提供卡号 ck(sc);break; case4: zz(sc);break; case5: cx(sc);break; case9: flag = false;break; default: println("输入错误");break; } } } public static void cx(Scanner sc){ println("请输入卡号;"); String bo1 = sc.next(); //校验卡号是否存在 Card card = bankService.checkCard(bo1); if(card == null){ println("卡不存在");return ; } println("请输入密码;"); String psw = sc.next(); if (!bankService.checkCardpsw(card,psw)) { println("密码错误!!"); return ; } System.out.println(card.getAccount()); System.out.println(card); } public static void zz(Scanner sc){ println("请输入您的卡号;"); String bo1 = sc.next(); //校验卡号是否存在 Card card = bankService.checkCard(bo1); if(card == null){ println("卡不存在");return ; } println("请输入密码;"); String psw = sc.next(); if (!bankService.checkCardpsw(card,psw)) { println("密码错误!!"); return ; } println("请输入转账金额:"); double je = sc.nextDouble(); if(bankService.checkMoney(card,je)){ println("请输入目标卡号;"); String bo2 = sc.next(); //校验卡号是否存在 Card card2 =bankService.checkCard(bo2); if(card2 == null){ println("卡不存在");return ; } println("目标的信息是"); System.out.println(card2.getAccount()); println("是否确定\n1.确定.\n2.返回"); int b = sc.nextInt(); if(b == 1) { card.outMoney(je); card2.inMoney(je); println("转账成功"); println(card.toString()); }else { return; } }else{ println("余额不足!"); } } //取款 public static void qk(Scanner sc){ println("请输入卡号;"); String bo = sc.next(); //校验卡号是否存在 Card card = bankService.checkCard(bo); if(card == null){ println("卡不存在");return ; } println("请输入密码;"); String psw = sc.next(); //校验密码是否匹配 if (!bankService.checkCardpsw(card,psw)) { println("密码错误!!"); return ; } println("请输入取款金额:"); double je = sc.nextDouble(); //校验余额是否足够 if(bankService.checkMoney(card,je)){ card.outMoney(je); println("取款成功"); //输出银行卡信息 println(card.toString()); }else{ println("余额不足!"); } } //存款 public static void ck(Scanner sc){ println("请输入卡号;"); String bo = sc.next(); //校验卡号是否存在 Card card = bankService.checkCard(bo); if(card == null){ println("卡不存在");return ; } println("请输入金额!"); double money = sc.nextDouble(); card.inMoney(money); println("存款成功!"); println(card.toString()); } //开户 public static void printSysMenuInfo(){ println("*******************"); println("*业务操作提示 *"); println("*1:开户 *"); println("*2:取款 *"); println("*3:存款 *"); println("*4:转账 *"); println("*5:查询 *"); println("*9:返回 *"); println("*******************"); } public static void printWecomeInfo(){ println("*******************"); println("*欢迎进入银行系统 *"); println("*操作提示: *"); println("*1:登陆 *"); println("*2:退出 *"); println("*******************"); } public static void println(String content){ System.out.println(content); } }
public class Account { private String name; private int age; private String sex; private String phone; private String address; private Card card; public String getName(){ return this.name; } public String getSex(){ return this.sex; } public int getAge(){ return this.age; } public String getPhone(){ return this.phone; } public String getAddress(){ return this.address; } public Account(String name ,int age , String sex , String phone ,Stringaddress){ this.name = name; this.age = age; this.sex = sex; this.phone = phone; this.address = address; } public void setCard(Card card){ this.card =card; } public Card getCard(){ return this.card; } public String toString(){ //此代码效率极差 //todo String out = "**************\n"; out += "*账户信息列表*\n"; out+= "*户名: "+this.name+"*\n"; out+= "*年龄: "+this.age+"*\n"; out+= "*性别: "+this.sex+"*\n"; out+= "*电话: "+this.phone+"*\n"; out+= "*地址: "+this.address+"*\n"; out+= "*-------------*\n"; return out; } }
class BankService { private Account[] accounts = newAccount[20]; public void createAccount(Account account){ boolean flag = false ; for (int i = 0;i { if (accounts[i] == null) { accounts[i]= account ; flag = true; break; } } if(!flag){ System.out.println("账户已满"); }else{ System.out.println(account); System.out.println("注册成功"); } } public boolean checkAccount(Accountaccount){ if(account.getName() == null || account.getName().equals("")){ return false; } if(account.getSex() == null || account.getSex().equals("")){ return false; } return true; } public Card checkCard(String card){ for (int i = 0;i { if (accounts[i] != null&&accounts[i].getCard()!=null &&accounts[i].getCard().getCardNo().equals(card)) { returnaccounts[i].getCard(); } } return null; } public boolean checkCardpsw(Card card,Stringpassword){ if(card.getPassword().equals(password)) return true; return false; } public boolean checkMoney(Card card, doublemoney){ if(card.getMoney() return false; return true; } }
public class Card { private Account account; private String cardNo; private Double money; private String password; public void setAccount(Account account){ this.account = account; } public Account getAccount(){ return this.account; } public Card(String cardNo){ this.cardNo = cardNo; } public Card(String cardNo,double money){ this(cardNo); this.money = money; } public Double getMoney(){ return this.money; } public void inMoney(Double money){ this.money += money; } public void outMoney(Double money){ this.money -= money; } public String getCardNo(){ return this.cardNo; } public void setPassword(String password){ this.password = password; } public String getPassword(){ return this.password; } public String toString(){ //todo String out ="*---------银行卡信息----------*\n"; out+= "*银行卡信息 *\n"; out += "卡号 "+this.cardNo+" *\n"; out += "银行卡余额 "+this.money+" *\n"; out += "*-------------------*\n"; return out; } }
