import java.util.Scanner;
/**ATM机
* 1.登录页面 2.登录
* 3.菜单
* a.查询
* b.存款
* c.取款
* d.修改密码
* e.退出
* */
public class ATM {
public static void main(String[] args) {
//初始化用户信息
String user ="sk";//用户名
String pwd = "123456";//密码
float money = 2000.00f;//当前余额
welcome();
boolean isLogin =login(user,pwd);
if(isLogin){
//登录成功
Scanner sc =new Scanner(System.in);
while(true){
System.out.println("1.查询余额、2.存款、3.取款、4.修改密码、5.退出");
int FucType =sc.nextInt();
switch(FucType){
case 1:searchMoney(money);break;
case 2:
float s_money=saveMoney();
money =money +s_money;
break;
case 3:
float g_money=getMoney(money);
money =money - g_money;
break;
case 4:
pwd=changePwd(pwd);
System.out.println("新密码为:"+pwd);
break;
case 5:;System.exit(0);break;
default:break;
}
}
}else{
//登录失败
System.exit(0);
}
}
public static void welcome(){
System.out.println("***************************");
System.out.println("***********欢迎光临***********");
System.out.println("**********老司机银行***********");
System.out.println("*******Verison:01.0********");
}
public static boolean login(String user,String pwd){
Scanner sc = new Scanner(System.in);
for(int i=3;i>0;i--){
System.out.println("请输入用户名");
String checkUser =sc.next();//用户当前用户名
System.out.println("请输入密码");
String checkPwd =sc.next();//用户当前密码
//.equals()匹配字符串
if(user.equals(checkUser) && pwd.equals(checkPwd)){
System.out.println("登录成功!");
return true;
}else{
if(i == 1){
System.out.println("你的卡被吞!!找柜台人员处理");
return false;
}
System.out.println("用户名或密码错误今日剩余次数:"+(i-1));
}
}
return false;
}
/**查询余额*/
public static void searchMoney(float money){
System.out.println("您的余额为:"+money);
}
/**存款*/
public static float saveMoney(){
System.out.println("请输入您要存的钱");
Scanner sc = new Scanner(System.in);
float saveMoney =sc.nextFloat();
if(saveMoney>10000){
System.out.println("单次最大存储上限为10000.00元");
saveMoney =0;
}else if(saveMoney<0){
System.out.println("非法操作");
saveMoney =0;
}else if(saveMoney % 100 != 0){
System.out.println("只能存储100的倍数");
saveMoney =0;
}else{
System.out.println("存款成功!");
}
return saveMoney;
}
/**取款*/
public static float getMoney(float nowmoney){
System.out.println("请输入您要取的钱");
Scanner sc = new Scanner(System.in);
float getMoney =sc.nextFloat();
if(getMoney>3000){
System.out.println("单次最大取款上限为3000.00元");
getMoney =0;
}else if(getMoney<0){
System.out.println("非法操作");
getMoney =0;
}else if(getMoney % 100 != 0){
System.out.println("只能取100的倍数");
getMoney =0;
}else if(getMoney>nowmoney){
System.out.println("余额不足");
getMoney =0;
}
else{
System.out.println("取款成功!");
}
return getMoney;
}
/**修改密码*/
public static String changePwd(String oldPassword){
System.out.println("请输入原密码");
Scanner sc = new Scanner(System.in);
for(int i=0;i<3;i++){
String pwd =sc.next();
if(pwd.equals(oldPassword)){
//老密码正确
System.out.println("请输入新密码");
String newPwd =sc.next();
System.out.println("请再输入新密码");
String newPwd2 =sc.next();
if(newPwd.equals(newPwd2)){
System.out.println("密码修改成功");
return newPwd;
}else{
System.out.println("2次密码不一致,请重新输入");
}
}
if(i == 2){
System.out.println("修改次数过多");
}else{
System.out.println("老密码错误,请重新修改");
}
}
return oldPassword;
}
}
/**ATM机
* 1.登录页面 2.登录
* 3.菜单
* a.查询
* b.存款
* c.取款
* d.修改密码
* e.退出
* */
public class ATM {
public static void main(String[] args) {
//初始化用户信息
String user ="sk";//用户名
String pwd = "123456";//密码
float money = 2000.00f;//当前余额
welcome();
boolean isLogin =login(user,pwd);
if(isLogin){
//登录成功
Scanner sc =new Scanner(System.in);
while(true){
System.out.println("1.查询余额、2.存款、3.取款、4.修改密码、5.退出");
int FucType =sc.nextInt();
switch(FucType){
case 1:searchMoney(money);break;
case 2:
float s_money=saveMoney();
money =money +s_money;
break;
case 3:
float g_money=getMoney(money);
money =money - g_money;
break;
case 4:
pwd=changePwd(pwd);
System.out.println("新密码为:"+pwd);
break;
case 5:;System.exit(0);break;
default:break;
}
}
}else{
//登录失败
System.exit(0);
}
}
public static void welcome(){
System.out.println("***************************");
System.out.println("***********欢迎光临***********");
System.out.println("**********老司机银行***********");
System.out.println("*******Verison:01.0********");
}
public static boolean login(String user,String pwd){
Scanner sc = new Scanner(System.in);
for(int i=3;i>0;i--){
System.out.println("请输入用户名");
String checkUser =sc.next();//用户当前用户名
System.out.println("请输入密码");
String checkPwd =sc.next();//用户当前密码
//.equals()匹配字符串
if(user.equals(checkUser) && pwd.equals(checkPwd)){
System.out.println("登录成功!");
return true;
}else{
if(i == 1){
System.out.println("你的卡被吞!!找柜台人员处理");
return false;
}
System.out.println("用户名或密码错误今日剩余次数:"+(i-1));
}
}
return false;
}
/**查询余额*/
public static void searchMoney(float money){
System.out.println("您的余额为:"+money);
}
/**存款*/
public static float saveMoney(){
System.out.println("请输入您要存的钱");
Scanner sc = new Scanner(System.in);
float saveMoney =sc.nextFloat();
if(saveMoney>10000){
System.out.println("单次最大存储上限为10000.00元");
saveMoney =0;
}else if(saveMoney<0){
System.out.println("非法操作");
saveMoney =0;
}else if(saveMoney % 100 != 0){
System.out.println("只能存储100的倍数");
saveMoney =0;
}else{
System.out.println("存款成功!");
}
return saveMoney;
}
/**取款*/
public static float getMoney(float nowmoney){
System.out.println("请输入您要取的钱");
Scanner sc = new Scanner(System.in);
float getMoney =sc.nextFloat();
if(getMoney>3000){
System.out.println("单次最大取款上限为3000.00元");
getMoney =0;
}else if(getMoney<0){
System.out.println("非法操作");
getMoney =0;
}else if(getMoney % 100 != 0){
System.out.println("只能取100的倍数");
getMoney =0;
}else if(getMoney>nowmoney){
System.out.println("余额不足");
getMoney =0;
}
else{
System.out.println("取款成功!");
}
return getMoney;
}
/**修改密码*/
public static String changePwd(String oldPassword){
System.out.println("请输入原密码");
Scanner sc = new Scanner(System.in);
for(int i=0;i<3;i++){
String pwd =sc.next();
if(pwd.equals(oldPassword)){
//老密码正确
System.out.println("请输入新密码");
String newPwd =sc.next();
System.out.println("请再输入新密码");
String newPwd2 =sc.next();
if(newPwd.equals(newPwd2)){
System.out.println("密码修改成功");
return newPwd;
}else{
System.out.println("2次密码不一致,请重新输入");
}
}
if(i == 2){
System.out.println("修改次数过多");
}else{
System.out.println("老密码错误,请重新修改");
}
}
return oldPassword;
}
}