能实现的功能:
1,密码超过3次没有输对程序死掉,取款失败,2,密码输入正确后,显示银行卡里的可用余额,输入取款金额(金额至少是100起步,且只能是整百的取,金额不能超过1万元),钱取了之后要自动计算出银行卡里的剩余金额。3,用户可以存钱。
补充:密码初始化自己定义(长度为6),可用余额自己定义;
参考代码:
public class Atm {
public static void main(String[] args) {
String pass = ""; // 保存用户输入密码
int outMoney = 0; // 取款金额
int inMoney = 0; // 存入金额
String password = "123456"; // 用户密码
int count = 0; // 记录密码输入次数
boolean isPass = false; // 密码是否通过验证
double keyong = 3600.56;
Scanner input = new Scanner(System.in);
System.out.println("-----欢-迎-来-到-中-国-银-行-----\n");
while (count < 3 && !isPass) {
System.out.print("请输入您的密码:");
pass = input.next();
if (!password.equals(pass)) {
count++;
continue;
} else {
isPass = true; // 密码通过验证
System.out.println("您已成功登陆!");
System.out.println("您的可用余额是:" + keyong);
System.out.println("请选择您的操作(1,取款 2,存款):");
int choose = input.nextInt();// 记录是取款还是存款
switch (choose) {
case 1:
System.out.print("请输入取款金额:");
outMoney = input.nextInt();
while (outMoney > 0) {
if (outMoney > keyong) {
System.out.print("余额不足,请重新输入:");
outMoney = input.nextInt();
continue; // 继续让用户输入金额
} else if (outMoney <= 10000 && outMoney % 100 == 0) {
System.out.println("您取了" + outMoney + "元");
System.out.println("您的银行卡里还剩:"
+ (keyong - outMoney));
System.out.println("交易完成,请取卡!");
break; // 完成交易,退出
} else {
System.out.print("您输入的金额不合法,请重新输入:");
outMoney = input.nextInt();
continue; // 继续让用户输入金额
}
}
System.out.println("您输入的金额没有大于0,交易失败!请取卡");
break;
case 2:
System.out.println("请输入存款金额:");
inMoney = input.nextInt();
while (inMoney > 0) {
if (inMoney <= 10000 && inMoney % 100 == 0) {
System.out.println("您存入了" + inMoney + "元");
System.out.println("您的银行卡里的可用余额现在是:"
+ (keyong + inMoney));
System.out.println("交易完成,请取卡");
break;
} else {
System.out.print("您存入的金额不合法,请重新输入:");
inMoney = input.nextInt();
continue; // 继续让用户输入金额
}
}
break;
default:
System.out.println("您选择的操作不存在,请输入1或者2:");
break;
}
}
}
if (!isPass) { // 用户输入了3次错误密码
System.out.print("您已超过三次密码输入错误,请取卡!");
}
}
}