首页 > 代码库 > ATM取款~~

ATM取款~~

  1 package com.jredu.ch03;
  2 
  3 import java.util.Scanner;
  4 
  5 public class Atmmmmmmmmmm {
  6 
  7         static int totalMoney=20000;//用户的银行卡余额
  8         
  9         public static void main(String[] args) {
 10             // TODO Auto-generated method stub
 11             Scanner input=new Scanner(System.in);
 12             //输入密码,最多输入三次
 13             for(int i=0;i<3;i++) {
 14                 System.out.println("请输入密码,您还可以再输入"+(3-i)+"次");
 15                 switch (input.nextInt()) {
 16                     case 111111:
 17                         /**
 18                          * 选择金额
 19                          */
 20                         System.out.println("输入密码正确");
 21                         while(true){
 22                             System.out.println("请选择金额:0.手动输入金额\t1.100元\t2.300元3.500元\t4.1000元\t5.3000元\t6.5000元");
 23                             String num=input.next();
 24                             switch(num) {
 25                                 case "0":
 26                                     System.out.println("请输入金额,不得低于100元,不得高于1000,必须是100元的倍数");
 27                                     int money=input.nextInt();
 28                                     if(money%100!=0||money<100||money>1000) {
 29                                         System.out.println("输入有误,请重新输入");
 30                                     } else {
 31                                         if(totalMoney-money>0) {
 32                                             totalMoney-=money;
 33                                             System.out.println("您取款"+money+"元,剩余"+totalMoney+"元");
 34                                         } else if(totalMoney-money==0) {
 35                                             totalMoney-=money;
 36                                             System.out.println("您取款"+money+"元,剩余"+totalMoney+"元");
 37                                             System.out.println("谢谢使用,再见");
 38                                             return;
 39                                         } else {
 40                                             System.out.println("余额不足,请重新选择金额");
 41                                         }
 42                                     }
 43                                     System.out.println("是否继续(y/n)");
 44                                     break;
 45                                 case "1":
 46                                     //100元
 47                                     totalMoney-=100;
 48                                     System.out.println("您取款100元,剩余"+totalMoney+"元");
 49                                     if(totalMoney>0) {
 50                                         System.out.println("是否继续(y/n)");
 51                                     } else {
 52                                         System.out.println("谢谢使用,再见");
 53                                         return;
 54                                     }
 55                                     break;
 56                                 case "2":
 57                                     //300元
 58                                     if(totalMoney-300>0) {
 59                                         totalMoney-=300;
 60                                         System.out.println("您取款300元,剩余"+totalMoney+"元");
 61                                     } else if(totalMoney-300==0) {
 62                                         totalMoney-=300;
 63                                         System.out.println("您取款300元,剩余"+totalMoney+"元");
 64                                         System.out.println("谢谢使用,再见");
 65                                         return;
 66                                     } else {
 67                                         System.out.println("余额不足,请重新选择金额");
 68                                     }
 69                                     System.out.println("是否继续(y/n)");
 70                                     break;
 71                                 case "3":
 72                                     //500元
 73                                     if(totalMoney-500>0) {
 74                                         totalMoney-=500;
 75                                         System.out.println("您取款500元,剩余"+totalMoney+"元");
 76                                     } else if(totalMoney-500==0) {
 77                                         totalMoney-=500;
 78                                         System.out.println("您取款500元,剩余"+totalMoney+"元");
 79                                         System.out.println("谢谢使用,再见");
 80                                         return;
 81                                     } else {
 82                                         System.out.println("余额不足,请重新选择金额");
 83                                     }
 84                                     System.out.println("是否继续(y/n)");
 85                                     break;
 86                                 case "4":
 87                                     //1000元
 88                                     if(totalMoney-1000>0) {
 89                                         totalMoney-=1000;
 90                                         System.out.println("您取款1000元,剩余"+totalMoney+"元");
 91                                     } else if(totalMoney-1000==0) {
 92                                         totalMoney-=1000;
 93                                         System.out.println("您取款1000元,剩余"+totalMoney+"元");
 94                                         System.out.println("谢谢使用,再见");
 95                                         return;
 96                                     } else {
 97                                         System.out.println("余额不足,请重新选择金额");
 98                                     }
 99                                     System.out.println("是否继续(y/n)");
100                                     break;
101                                 case "5":
102                                     //3000元
103                                     if(totalMoney-3000>0) {
104                                         totalMoney-=3000;
105                                         System.out.println("您取款3000元,剩余"+totalMoney+"元");
106                                     } else if(totalMoney-3000==0) {
107                                         totalMoney-=3000;
108                                         System.out.println("您取款3000元,剩余"+totalMoney+"元");
109                                         System.out.println("谢谢使用,再见");
110                                         return;
111                                     } else {
112                                         System.out.println("余额不足,请重新选择金额");
113                                     }
114                                     System.out.println("是否继续(y/n)");
115                                     break;
116                                 case "6":
117                                     //5000元
118                                     if(totalMoney-5000>0) {
119                                         totalMoney-=5000;
120                                         System.out.println("您取款5000元,剩余"+totalMoney+"元");
121                                     } else if(totalMoney-5000==0) {
122                                         totalMoney-=5000;
123                                         System.out.println("您取款5000元,剩余"+totalMoney+"元");
124                                         System.out.println("谢谢使用,再见");
125                                         return;
126                                     } else {
127                                         System.out.println("余额不足,请重新选择金额");
128                                     }
129                                     System.out.println("是否继续(y/n)");
130                                     break;
131                                 default:
132                                     System.out.println("数字输入错误,是否继续(y/n)");
133                                     //如果y继续,如果n退出
134                                     break;
135                             }
136                             while(true) {
137                                 char repeat=input.next().charAt(0);
138                                 if(repeat==‘y‘) {
139                                     break;
140                                 } else if(repeat==‘n‘) {
141                                     System.out.println("谢谢使用,再见");
142                                     return;
143                                 } else {
144                                     System.out.println("输入错误,请重新输入");
145                                 }
146                             }
147                             
148                         }
149                     default:
150                         //密码错误
151                         if(i==2) {
152                             //如果超过三次提示输入密码错误
153                             System.out.println("密码错误,请取卡");
154                         }
155                         break;
156                 }
157             }
158             input.close();
159         }
160     
161 }

 

流程控制

用来控制程序中各种语句的执行顺序

Java中三种流程控制:

顺序结构、选择结构、循环结构

技术分享

循环结构:while、do-while、for、foreach语句

跳转结构:break、continue、return跳出整个方法

多重if-slse选择结构

技术分享

if-else与switch比较

绝大部分情况下switch会快一点,除非if-else第一个条件就为true

等值分支使用switch

while循环

符合条件循环继续执行,否则循环退出,先判断后执行

do-while 先执行一遍循环操作,在判断

do{

循环操作

}while(循环条件);

for(表达式①;②;④更新循环变量){

③循环操作

}

嵌套循环:先内循环再外循环

foreach循环

从开始到结束,效率最高,但不能像for循环那样定义范围

break:改变程序控制流

可跳出循环而执行循环后面的语句,还可用在switch

continue

只能用在循环里

跳出当前循环剩余的语句而执行下一次循环

return

作用:退出当前方法,返回上层调用方法处

每个方法都要有return语句,表示方法结束并返回结果

循环次数确定的情况下,通常选用for循环

循环次数不定,用while和do-while

ATM取款~~