利用Java语言仿写ATM的相关简单业务。
public class ATM {
//银行保存的用户名
String[] username=new String[] {"zhangxiaomi","zhouwenhua","李一凡","黄帆"};
//银行各用户的手机号
String[] phone=new String[] {"13772692021","18049188803","18591733508","18891624803"};
//银行各用户名的密码
String[] password=new String[] {"802380","123456","520131","942647"};
//银行各用户银行卡的余额
int[] balance=new int[] {18900,19250,23000,17500};
public static void main(String[] args) {
ATM atm=new ATM();
while (true) {
atm.login();// 登陆
}
}
public void login() {
Scanner s=new Scanner(System.in);
//界面
System.out.println("**************欢迎使用ABC银行*************");
//用户信息
String tel;
boolean is=true; 判断当前手机验证是否正确,默认true,代表手机号需要再次输入/记录账户是否锁定
int i; //记录下标
do{
System.out.println("请输入你的手机号:");
tel=s.next();
//遍历手机号数组
for(i=0;i<phone.length;i++) {
if(tel.equals(phone[i])) {
is = false;// 手机号输入结束
break;
}
}
}while(is); // 从这出来的is是false
//判断密码
String pw;
int count = 0; //控制密码输入次数
do{
count++;
if(count==4) {
is = true;
break;
}
System.out.println("请输入你的密码:");
pw=s.next();
}while(!pw.equals(password[i])); // 从这如果密码也正确出来的is是false,如果不正确出来的是true
if(is) {
System.out.println("账户已锁定");
}else {
System.out.println(username[i]+"您好!");
}
boolean isz=true;
do {
System.out.println("1.存款"+"\t\t"+"2.取款"+"\n"+"3.修改手机号"+"\t"+"4.转账"+"\n"+"请输入你需要办理的业务:");
int num=s.nextInt(); //需要办理的业务
switch (num) {
case 1: //1。存款
System.out.println("需要存款的金额:");
int mone=s.nextInt();
sumMoney(mone,i);
break;
case 2: //2.取款
System.out.println("需要取款的金额:");
int mon=s.nextInt();
rceMoney(mon,i);
break;
case 3: //3.修改手机号
System.out.println("请输入需要修改后的手机号:");
String num1=s.next();
modPhone(num1,i);
break;
//4.转账
case 4: //此刻is是false
int j;
do {
System.out.println("请输入需要转入的账户:");
String num2=s.next();
//与数组比较是否有这个账户
for(j=0;j<=phone.length;j++) {
if(num2.equals(phone[j])) {
is=true;
break;
}
}
}while(!is);
int jine;
do{
//如果存在就转账
System.out.println("转账金额:");
//判断当前账户余额是否足够
jine=s.nextInt();
}while(balance[i]<jine);
tfMoney(jine, i, j);
}
}while (isz);
}
//存钱
public void sumMoney(int money,int i) {
balance[i] = balance[i]+money;
System.out.println("您现在的卡上余额为:"+balance[i]);
}
//取钱
public void rceMoney(int money,int i) {
ATM atm=new ATM();
atm.balance[i]=atm.balance[i]-money;
System.out.println("您现在的卡上余额为:"+atm.balance[i]);
}
//修改手机号
public void modPhone(String tel,int i) {
System.out.println("修改前的手机号:"+phone[i]+"\t");
phone[i]=tel;
System.out.println("您现在的卡手机号为:"+phone[i]);
}
//转账 一个人给另一个人转账(转账金额/转出用户/转入用户)
public void tfMoney(int money,int zh1,int zh2) {
//转出
balance[zh1]-=money;
//转入
balance[zh2]+=money;
System.out.println("转出账户:"+balance[zh1]);
System.out.println("转入账户:"+balance[zh2]);
}
}