★定义银行账号类 Bank,包含属性:银行卡卡号(cardnumber), 银行卡 密码(password) (6位),银行卡余额(balance), 是否登录成功
★实现银行卡卡号的登录方法, 卡号和密码匹配登录成功
★实现银行卡 卡号的查询余额方法,登录成功后可以查询
★实现银行卡 卡号取款方法,取完后显示余额
★实现银行卡转账业务, 向另外一张卡转账
★主类:创建一个卡号,6225 8888 6666 3333 222, 密码123456, 余额500,先查询余额,再取2000出来,显示余额:向另外-张卡(卡 号6225 888 666 3333 111,密码654321,余额1000, )转账500;最后登录1111卡,查询是否到账
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
/*
* 1. 客户登录或注册用户 2. 查询个人账户余额 3. 取入钱款交易 4. 存入钱款交易 5. 转账交易 6. 退出账户 7. 注销账户
* 要求:1.Switch语句,循环语句,集合,继承,构造方法,抽象方法,
* super,this,Scanner,静态方法等的运用、呈现。2.添加注释
* */
public class BankTest {
public static void main(String[] args) {
int num;
Scanner input = new Scanner(System.in);
UserData u=null;
Map<String,UserData> userList = new HashMap<String,UserData>();
while(true) {
System.out.println("***************中国银行系统***************\n");
System.out.println("1、注册 *\n");
System.out.println("2、登录 *\n");
System.out.println("3、查询个人账户 *\n");
System.out.println("4、存款 *\n");
System.out.println("5、取钱 *\n");
System.out.println("6、转账 *\n");
System.out.println("7、退出**********************************\n");
System.out.println("请选择(1~7):");
num = input.nextInt();
switch(num) {
case 1:
System.out.println("你选择的是开户:请输入卡号,密码,存款金额:");
u = new UserData(input.next(),input.next(),input.nextFloat());
System.out.println("开户成功,信息如下:敲任意键继续....");
System.out.println(u);
userList.put(u.getId(), u);
input.next();
break;
case 2:
System.out.println("你选择的是登录:请输入卡号,密码:");
String id = input.next();
String pwd = input.next();
u = userList.get(id);
if(u==null) {
System.out.println("卡号不存在:");
return;
}
if(u.getPassword().equals(pwd)) {
System.out.println("登录成功,你的信息如下:");
System.out.println(u);
}
break;
case 3:
if(u==null) {
System.out.println("用户不存。");
break;
}
System.out.println("你选择的是查询个人账户:信息如下:");
System.out.println(u);
break;
case 4:
if(u==null) {
System.out.println("用户不存。");
break;
}
System.out.println("你选择的是存款:请输入存款金额:");
float money = input.nextFloat();
u.setMoney(u.getMoney()+money);
System.out.println("存款后的信息如下:");
System.out.println(u);
break;
case 5:
if(u==null) {
System.out.println("用户不存。");
break;
}
System.out.println("你选择的是取钱:请输入取款金额:");
money = input.nextFloat();
u.setMoney(u.getMoney()-+money);
System.out.println("取款后的信息如下:");
System.out.println(u);
break;
case 6:
if(u==null) {
System.out.println("用户不存。");
break;
}
System.out.println("你选择的是转账:请输入对方账号:");
id = input.next();
UserData other = userList.get(id);
if(other==null) {
System.out.println("对方账号不存在:");
break;
}
System.out.println("请输入转账金额:");
money = input.nextFloat();
u.setMoney(u.getMoney()-money);
other.setMoney(other.getMoney()+money);
System.out.println(u);
System.out.println(other);
break;
case 7:
break;
}
if(num==7)
break;
}
}
}
class UserData implements Serializable{
private String id;
private String password;
private float money;
public UserData() {
}
public UserData(String id,String password,float money) {
this.id = id;
this.password = password;
this.money = money;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public float getMoney() {
return money;
}
public void setMoney(float money) {
this.money = money;
}
@Override
public String toString() {
return "id:"+this.id+",密码:"+this.password+",账户余额:"+this.money;
}
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!