public class User {
private int id;//排序编号
private int account;//账号
private String password; //密码
private String balance; //余额
private String bankName; //银行卡名字
private String name;//持卡人
public User() {
}
public User(int id, int account, String password, String balance, String bankName, String name) {
this.id = id;
this.account = account;
this.password = password;
this.balance = balance;
this.bankName = bankName;
this.name = name;
}
public User(int id, int account, String password, int i, String 中国建设, String 小王妃) {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAccount() {
return account;
}
public void setAccount(int account) {
this.account = account;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getBalance() {
return balance;
}
public void setBalance(String balance) {
this.balance = balance;
}
public String getBankName() {
return bankName;
}
public void setBankName(String bankName) {
this.bankName = bankName;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class Bank {
/*数组模拟数据库后台,并初始化*/
private User[] users = new User[20];
int size;
/*接收当前登录的用户*/
User user;
public User getUser() {
return user;
}
public Bank (){ }
/*初始化用户*/
public void init(){
User user1= new User(1,10086,"10086",100000,"中国建设","小王妃");
User user2= new User(2,10011,"10086",10000000,"工商","小王");
/*初始化*/
users[0] = user1;
users[1] =user2;
size=2;
}
/*用户登录*/
public boolean login(String account, String password){
for(int i=0; i<size; i++){
if(!users[i].equals(account)&& users[i].getPassword().equals(password) ){
user = users[i];
return true;
}
}
return false;
}
/*存款*/
public void save(String balance){
double money =Integer.parseInt(user.getBalance());
money += Integer.parseInt(String.valueOf(balance));
user.setBalance((money+""));
System.out.println("存款成功");
}
/*取款*/
public void widthDraw(String balance){
int money = (int) Double.parseDouble(user.getBalance());
money -= Double.parseDouble(balance);
user.setBalance((money+""));
}
/*转账*/
public void trans(String cardNo,String balance){
int i=0;
for(i=0; i<size;i++){
if(users[i].equals(getUser().getAccount())){
/*保存没转账之前的数*/
int oldmoney =Integer.parseInt(user.getBalance()) ;
int oldanothermoney = Integer.parseInt(users[i].getBalance());
/*转账,调用当前登录用户的取款方法*/
widthDraw(balance);
/*目标账户的余额变化*/
int money =Integer.parseInt(users[i].getBalance());
money += Integer.parseInt(balance);
users[i].setBalance((money+""));
/*这里做转账成功的判断*/
int userseflmoney =oldmoney - Integer.parseInt(user.getBalance());
int useraothermoney = Integer.parseInt(users[i].getBalance())-oldanothermoney;
if(userseflmoney == useraothermoney){
System.out.println("转账成功");
}
break;
}
}
if(i>=size){
System.out.println("输入的卡号有误");
}
}
/*查询余额*/
public void query(){
System.out.println("【账户余额】: "+user.getBalance());
}
/*修改密码*/
public void modifyPassword(String passwd){
user.setPassword(passwd);
System.out.println("修改密码成功,请重新登录");
}
}
测试类
public class Test1 extends Bank{
public static void main(String[] args) {
Bank blank = new Bank();
/*初始化*/
blank.init();
Scanner sc =new Scanner(System.in);
while(true) {
System.out.println("========== 中国银行欢迎你 ========= ");
System.out.println("*** 请先登录*** ");
System.out.print("【请输入卡号】:");
String account = sc.next();
System.out.print("【请输入密码】:");
String password = sc.next();
if (blank.login(account, password)) {
System.out.println("登录成功"+ blank.getUser().getName());
// User user = blank.getUser();
prof: while(true) {
System.out.println("请输入您想要的操作类型");
System.out.println("------- 1,余额查询 2,取款 3,存款 -------");
System.out.println("-------- 4,转账 5,打印 6,退卡-------- ");
System.out.print("查询转账信息");
int num = sc.nextInt();
if (num == 1) {
System.out.println("进入存款操作");
System.out.print("输入存款金额:");
int money = sc.nextInt();
while (true) {
if (money <= 0) {
System.out.println("请输入正确的存款金额");
} else {
break;
}
}
blank.save(money + "");
} else if (num == 2) {
System.out.println("进入取款操作");
System.out.print("输入取款金额:");
int money = sc.nextInt();
blank.widthDraw(money+"");
System.out.println("取款成功");
} else if (num == 3) {
System.out.println("进入转账操作");
System.out.print("输入转账卡号:");
String account1 =sc.next();
System.out.print("输入转款金额");
int money = sc.nextInt();
blank.trans(account1, money+"");
} else if (num == 4) {
blank.query();
} else if (num == 5) {
System.out.println("进入改密操作");
System.out.print("输入重置密码:");
String newpasswd =sc.next();
blank.modifyPassword(newpasswd);
break prof;
} else if (num == 6) {
System.out.println("账号: 退出成功");
break prof;
}
}
} else {
System.out.println("卡号或者密码输入不正确");
}
}
}
}