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 }