展开全部
/**
要求:使用字符用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能e68a843231313335323631343130323136353331333337626231登录ATM柜员机系统,用户可以按照以下规则进行:
1、查询余额:初始余额为10000元
2、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
3、ATM存款:不能出现负存款。
4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
(卡号密码余额放到文件中)
*/
public class Test {
private static int account;
private static int password;
private static int money;
private static boolean isLogin;
static{
account = 123456;
password = 123456;
money = 10000;
isLogin = false;
}
//存款
public void cun(int cunKuan){
if(cunKuan>=0){
this.money += cunKuan;
}else{
System.out.println("存款不能为负!");
}
}
//取款
public void qu(int quKuan){
if(this.money - quKuan
System.out.println("余额不足!");
return;
}
if(isValid(quKuan)){
this.money -= quKuan;
}else{
System.out.println("取款不能为负,且应为100的倍数!");
}
}
//判断是否为有效的金额
private boolean isValid(int money){
if(money >= 0 && money % 100 == 0){
return true;
}
return false;
}
//登陆
public void login(){
System.out.println("请输入账号和密码【格式为:账号/密码】");
String login = new Scanner(System.in).next();
if(login.equalsIgnoreCase("123456/123456")){
this.isLogin = true;
}else{
System.out.println("账号或者密码错误,请重新输入!");
login();
}
}
//主菜单
public void show(){
System.out.println("[1]存款");
System.out.println("[2]取款");
System.out.println("[3]退出");
System.out.println("请输入:");
int key = new Scanner(System.in).nextInt();
switch (key) {
case 1:
cun(new Scanner(System.in).nextInt());
break;
case 2:
qu(new Scanner(System.in).nextInt());
break;
case 3:
System.exit(0);
default:
break;
}
}
public static void main(String[] args) {
Test t = new Test();
t.login();
if(t.isLogin){
for(;;){
t.show();
System.out.println("您当前的余额为:" + t.money);
}
}
}
}