for循环练习-----ATM取款

要求:

 代码:

  1 package com.jianglai.atm;
  2 
  3 import java.util.Scanner;
  4 
  5 public class ATM {
  6 
  7     public static void main(String[] args) {
  8 
  9         Scanner in = new Scanner(System.in);
 10         /**
 11          *   1. 判断用户密码是否正确
 12          */
 13         int pwd = 111111;//用户密码
 14         int i = 1;
 15         for (i = 1; i < 4; i++) {
 16             System.out.print("请输入密码:");
 17             int u_pwd = in.nextInt();//用户输入的密码
 18             //判断密码
 19             if(u_pwd == pwd){
 20                 break;
 21             }else {
 22                 System.out.print("密码输入错误,");
 23             }
 24             //判断输入密码次数是否超过3次,超过三次提示信息结束程序。
 25             if(i==3){
 26                 System.out.println("密码输入超过3次,请取卡。");
 27                 return;
 28             }
 29             
 30         }
 31         
 32         /**
 33          *    2. 进行取款操作
 34          */
 35         System.out.println();
 36         System.out.println("*********请根据序号取款*********");
 37         System.out.println();
 38         int money = 0;//取款金钱数
 39         int moenySum = 0;//取款的总金额数
 40         int choosNum = 0;//用户选择的序号
 41         
 42         boolean flag = true;
 43         
 44         while (flag) {
 45             
 46             String con ;//用户输入Y或N
 47             
 48             System.out.println("0-手动输入金额");
 49             System.out.println("1-100元		2-300元		3-500元");
 50             System.out.println("4-1000元		5-3000元		6-5000元");
 51             System.out.print("请选择:");
 52             choosNum = in.nextInt();
 53             //根据序号进行操作
 54             switch (choosNum) {
 55             case 0:
 56                 System.out.print("请输入金额:");
 57                 money = in.nextInt();//用户输入的金额
 58                 //判断用户输入的金额是否符合规定
 59                 if((money >= 100&& money <= 1000)&&(money%100==0)){
 60                     System.out.print("取款完成,是否继续(y/n):");
 61                     con = in.next();
 62                 }else {
 63                     money = 0;//用户输入的金钱不符合规定,将输入的钱数重置,再进行下一步
 64                     System.out.print("金额输入错误,是否继续(y/n):");
 65                     con = in.next();
 66                     money = 0;
 67                 }
 68                 break;
 69             case 1:
 70                 money = 100;
 71                 System.out.print("取款完成,是否继续(y/n):");
 72                 con = in.next();
 73                 break;
 74             case 2:
 75                 money = 300;
 76                 System.out.print("取款完成,是否继续(y/n):");
 77                 con = in.next();
 78                 break;
 79             case 3:
 80                 money = 500;
 81                 System.out.print("取款完成,是否继续(y/n):");
 82                 con = in.next();
 83                 break;
 84             case 4:
 85                 money = 1000;
 86                 System.out.print("取款完成,是否继续(y/n):");
 87                 con = in.next();
 88                 break;
 89             case 5:
 90                 money = 3000;
 91                 System.out.print("取款完成,是否继续(y/n):");
 92                 con = in.next();
 93                 break;
 94             case 6:
 95                 money = 5000;
 96                 System.out.print("取款完成,是否继续(y/n):");
 97                 con = in.next();
 98                 break;
 99 
100             default:
101                 System.out.print("输入错误,是否继续(y/n):");
102                 con = in.next();
103                 break;
104             }
105             //总金额累加
106             moenySum += money;
107             
108             //验证总金额(moneySum)是否大于20000
109             
110             if(moenySum>20000){
111                 moenySum = moenySum-money;
112                 System.out.print("您的取款金额超过20000,取款失败,是否继续(y/n):");
113                 con = in.next();
114             }else if (moenySum==20000) {
115                 flag = false;
116                 break;//等于20000的时候自动结束
117             }
118             
119             //验证是否继续   Y/N(n/y)  Y就继续,N就结束
120             while (true) {
121                 if(con.equals("n")||con.equals("N")){
122                     flag = false;
123                     break;
124                 }else if(con.equals("y")||con.equals("Y")) {
125                     flag = true;
126                     break;
127                 }else {
128                     System.out.print("您输入字符有误,是否继续(y/n):");
129                     con = in.next();
130                 }
131             }
132             
133         }
134         //输出最后的金额和提示信息
135         System.out.println("您的总取款金额为:"+moenySum+"¥");
136         System.out.println("感谢使用!!!");
137         
138     }
139 
140 }

 效果图:

原文地址:https://www.cnblogs.com/JiangLai/p/8675048.html