要求:
代码:
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 }
效果图: