• 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

  • 相关阅读:
    伯克利推出世界最快的KVS数据库Anna:秒杀Redis和Cassandra
    不要什么都学-打造自己的差异化价值
    gitlab markdown支持页面内跳转
    技术人员怎样提升对业务的理解
    为什么HDFS的副本数通常选择3?
    MySQL++简单使用记录.md
    log4cpp安装使用
    log4cxx安装使用
    epoll使用总结
    工作方法-scrum+番茄工作法
  • 原文地址:https://www.cnblogs.com/a5513633/p/6601888.html
Copyright © 2020-2023  润新知