1 import java.util.Scanner; 2 3 /**ATM存取款机*/ 4 public class ATM { 5 6 public static void main(String[] args) { 7 /**初始化用户信息*/ 8 String user = "zhan";//用户名 9 String pwd = "123";//密码 10 float money = 100f ;//初始余额 11 welcome(); 12 if (login(user,pwd)){ 13 //登录成功 14 Scanner sc = new Scanner(System.in); 15 while (true){ 16 System.out.println("1、查询 2、存款 3、取款 4、修改密码 5、退出"); 17 switch (sc.nextInt()){ 18 case 1 : 19 searchMoney(money); 20 break; 21 case 2 : 22 money += saveMoney(); 23 break; 24 case 3 : 25 money -= getMoney(money); 26 break; 27 case 4 : 28 pwd = changePwd(pwd); 29 break; 30 case 5 : System.exit(0); break; 31 default :;break; 32 } 33 } 34 }else{ 35 //登录失败 36 //System.out.println("登录失败,系统退出!"); 37 System.exit(0); 38 } 39 } 40 41 /** 42 * 欢迎登陆界面 43 * 44 * */ 45 public static void welcome (){ 46 System.out.println("***********************"); 47 System.out.println("——欢迎登陆———"); 48 System.out.println("***********************"); 49 System.out.println("***********************"); 50 System.out.println("***********************"); 51 } 52 /** 53 * 登陆--检测用户名和密码 54 * 55 * */ 56 public static boolean login (String user ,String pwd){ 57 Scanner sc = new Scanner (System.in); 58 59 for (int i = 3 ;i>0;i--){ 60 System.out.println("请输入用户名:"); 61 String checkUser = sc.next();//用户输入 用户名 62 System.out.println("请输入密码:"); 63 String checkPwd = sc.next();//用户输入 密码 64 // .equals()匹配字符串 65 if (user.equals (checkUser) && pwd.equals (checkPwd) ){ 66 System.out.println("登陆成功!"); 67 return true ; 68 }else { 69 if ( i ==1 ){ 70 System.out.println("你的卡被吞!!找相关人员"); 71 return false ; 72 } 73 System.out.println("用户名或密码错误!今日剩余次数:"+ (i-1)); 74 } 75 } 76 return false ; 77 } 78 /** 79 *查询余额 80 * 81 * */ 82 public static void searchMoney (float money){ 83 System.out.println("你的余额为"+money); 84 } 85 /** 86 *存款 87 * 88 * */ 89 public static float saveMoney (){ 90 System.out.println("请输入存款金额:"); 91 Scanner sc = new Scanner (System.in); 92 float saveMoney = sc.nextFloat(); 93 94 if (saveMoney > 10000){ 95 System.out.println("单次最大存款金额为1000.0元"); 96 saveMoney=0; 97 }else if (saveMoney < 0){ 98 System.out.println("不能存负数的钱!!"); 99 saveMoney=0; 100 }else if (saveMoney %100!= 0){ 101 System.out.println("不能存零钱!!"); 102 saveMoney=0; 103 }else{ 104 System.out.println("存款成功!"); 105 } 106 return saveMoney ; 107 } 108 /** 109 *取款 110 * 111 * */ 112 public static float getMoney (float money){ 113 System.out.println("请输入取款金额:"); 114 Scanner sc = new Scanner (System.in); 115 float getMoney = sc.nextFloat(); 116 117 if (getMoney > 10000){ 118 System.out.println("单次最大取款金额为1000.0元"); 119 getMoney=0; 120 }else if (getMoney < 0){ 121 System.out.println("不能取负数的钱!!"); 122 getMoney=0; 123 }else if (getMoney %100!= 0){ 124 System.out.println("不能取零钱!!"); 125 getMoney=0; 126 }else if (money <getMoney ){ 127 System.out.println("余额不足!!"); 128 getMoney=0; 129 }else { 130 System.out.println("取款成功!"); 131 } 132 return getMoney ; 133 } 134 135 /** 136 *修改密码 137 * 138 * */ 139 public static String changePwd(String oldPwd) { 140 System.out.println("请输入旧密码:"); 141 Scanner sc = new Scanner (System.in); 142 String pwd = sc.next(); 143 144 if (pwd.equals(oldPwd)){ 145 //老密码正确; 146 System.out.println("请输入新密码:"); 147 String newPwd_1= sc.next(); 148 System.out.println("请再次输入新密码:"); 149 String newPwd_2= sc.next(); 150 if (newPwd_1.equals(newPwd_2)){ 151 System.out.println("密码修改成功!"); 152 return newPwd_1 ; 153 }else{ 154 System.out.println("两次密码不一致,请重新修改!"); 155 return oldPwd ; 156 } 157 }else { 158 System.out.println("旧密码输入错误,请重新修改!"); 159 } 160 return oldPwd ; 161 } 162 }