• ATM模拟器(附代码及运行结果)


    源代码:

      1 import java.util.Scanner;
      2 
      3 class Account{
      4     String identify;
      5     String name;
      6     String date;
      7     String key;
      8     double balance;
      9     Account(String id,String na,String da,String ke,double ba)
     10     {
     11         identify=id;
     12         name=na;
     13         date=da;
     14         key=ke;
     15         balance=ba;
     16     }
     17     Account()
     18     {
     19         identify="ljj19960419";
     20         name="ljj";
     21         date="2016/11/16";
     22         key="123456";
     23         balance=1024.0;
     24     }
     25     
     26 
     27     public void back()   //退卡
     28     {        
     29     }
     30     
     31     
     32     
     33     public void get()    //取款
     34     {
     35         System.out.println("请输入取款金额:
     100     请输入1
     200     请输入2
     500     请输入3
     1000    请输入4
     其他金额   请输入5
     退卡          请输入6
     返回          请输入7
    ");
     36         Scanner scan = new Scanner(System.in); 
     37         String n = scan.nextLine();  
     38         switch(n){
     39         case "1":
     40             if(balance<100)
     41             {
     42                 System.out.println("余额不足!");break;
     43             }
     44             else
     45             {
     46             balance-=100;System.out.println("取款成功!余额为:"+balance);break;
     47             }
     48         case "2":
     49             if(balance<200)
     50             {
     51                 System.out.println("余额不足!");break;
     52             }
     53             else
     54             {
     55             balance-=200;System.out.println("取款成功!余额为:"+balance);break;
     56             }
     57         case "3":
     58             if(balance<500)
     59             {
     60                 System.out.println("余额不足!");break;
     61             }
     62             else
     63             {
     64             balance-=500;System.out.println("取款成功!余额为:"+balance);break;
     65             }
     66         case "4":
     67             if(balance<1000)
     68             {
     69                 System.out.println("余额不足!");break;
     70             }
     71             else
     72             {
     73             balance-=1000;System.out.println("取款成功!余额为:"+balance);break;
     74             }
     75         case "5":
     76             System.out.print("请输入取款金额:");
     77             Scanner scan1 = new Scanner(System.in); 
     78             int a = scan1.nextInt();
     79             if(balance<a)
     80             {
     81                 System.out.println("余额不足!");break;
     82             }
     83             else
     84             {
     85             balance-=a;System.out.println("取款成功!余额为:"+balance);break;
     86             }
     87         case "6":
     88             back();break;
     89         case "7":
     90             break;
     91         }
     92         System.out.println("返回主界面     请输入1
    退卡               请输入2
    ");
     93         Scanner scan7 = new Scanner(System.in);
     94         int f = scan7.nextInt();
     95         if(f==1)
     96         {
     97             System.out.println("请选择操作:");
     98             System.out.println("存款             请按1");
     99             System.out.println("取款             请按2");
    100             System.out.println("转账汇款      请按3");
    101             System.out.println("查询余额      请按4");
    102             System.out.println("退卡             请按5");
    103             Account data =new Account();
    104             Scanner scan8 = new Scanner(System.in);
    105             int g = scan8.nextInt();
    106             switch(g){
    107             case 1:
    108                 data.save();break;
    109             case 2:
    110                 data.get();break;
    111             case 3:
    112                 data.trans();break;
    113             case 4:
    114                 data.inquiry();break;
    115             case 5:
    116                 data.back();break;
    117             }
    118         }
    119         else
    120         {
    121             back();
    122         }
    123     }
    124     
    125     
    126     
    127     public void save()    //存款
    128     {
    129         System.out.println("请输入存款金额:");
    130         Scanner scan2 = new Scanner(System.in);
    131         double b =scan2.nextDouble();
    132         balance+=b;
    133         System.out.println("存款成功!余额为:"+balance);
    134         System.out.println("返回主界面     请输入1
    退卡               请输入2
    ");
    135         Scanner scan7 = new Scanner(System.in);
    136         int f = scan7.nextInt();
    137         if(f==1)
    138         {
    139             System.out.println("请选择操作:");
    140             System.out.println("存款             请按1");
    141             System.out.println("取款             请按2");
    142             System.out.println("转账汇款      请按3");
    143             System.out.println("查询余额      请按4");
    144             System.out.println("退卡             请按5");
    145             Account data =new Account();
    146             Scanner scan8 = new Scanner(System.in);
    147             int g = scan8.nextInt();
    148             switch(g){
    149             case 1:
    150                 data.save();break;
    151             case 2:
    152                 data.get();break;
    153             case 3:
    154                 data.trans();break;
    155             case 4:
    156                 data.inquiry();break;
    157             case 5:
    158                 data.back();break;
    159             }
    160         }
    161         else
    162         {
    163             back();
    164         }
    165     }
    166 
    167     
    168     
    169     public void trans()     //转账
    170     {
    171         System.out.println("请输入转账行号:");
    172         Scanner scan3 = new Scanner(System.in);
    173         String c = scan3.nextLine();
    174         System.out.println("请输入转账金额:");
    175         Scanner scan4 = new Scanner(System.in);
    176         double d =scan4.nextDouble();
    177         if(balance<d)
    178         {
    179             System.out.println("余额不足,转账失败!");
    180         }
    181         else
    182         {
    183             double e = balance-d;
    184             System.out.println("您已成功向行号为"+c+"的账户转账"+d+"元。当前余额为"+e+"元。");
    185         }
    186         System.out.println("返回主界面     请输入1
    退卡               请输入2
    ");
    187         Scanner scan7 = new Scanner(System.in);
    188         int f = scan7.nextInt();
    189         if(f==1)
    190         {
    191             System.out.println("请选择操作:");
    192             System.out.println("存款             请按1");
    193             System.out.println("取款             请按2");
    194             System.out.println("转账汇款      请按3");
    195             System.out.println("查询余额      请按4");
    196             System.out.println("退卡             请按5");
    197             Account data =new Account();
    198             Scanner scan8 = new Scanner(System.in);
    199             int g = scan8.nextInt();
    200             switch(g){
    201             case 1:
    202                 data.save();break;
    203             case 2:
    204                 data.get();break;
    205             case 3:
    206                 data.trans();break;
    207             case 4:
    208                 data.inquiry();break;
    209             case 5:
    210                 data.back();break;
    211             }
    212         }
    213         else
    214         {
    215             back();
    216         }
    217     }
    218     
    219     
    220     
    221     public void inquiry()    //查询余额
    222     {
    223         System.out.println("您当前余额为"+balance+"元。");
    224         System.out.println("返回主界面     请输入1
    退卡               请输入2
    ");
    225         Scanner scan7 = new Scanner(System.in);
    226         int f = scan7.nextInt();
    227         if(f==1)
    228         {
    229             System.out.println("请选择操作:");
    230             System.out.println("存款             请按1");
    231             System.out.println("取款             请按2");
    232             System.out.println("转账汇款      请按3");
    233             System.out.println("查询余额      请按4");
    234             System.out.println("退卡             请按5");
    235             Account data =new Account();
    236             Scanner scan8 = new Scanner(System.in);
    237             int g = scan8.nextInt();
    238             switch(g){
    239             case 1:
    240                 data.save();break;
    241             case 2:
    242                 data.get();break;
    243             case 3:
    244                 data.trans();break;
    245             case 4:
    246                 data.inquiry();break;
    247             case 5:
    248                 data.back();break;
    249             }
    250         }
    251         else
    252         {
    253             back();
    254         }
    255     }
    256     
    257 }
    258 
    259 
    260 public class ATM {
    261 
    262     public static void main(String[] args) {
    263         System.out.println("**********************");
    264         System.out.println("欢迎使用银行ATM服务柜机!");
    265         System.out.println("**********************");
    266         System.out.print("请输入密码:");
    267         Scanner scan5 = new Scanner(System.in);
    268         String f = scan5.nextLine();
    269         if(f.equals("123456"))
    270         {
    271             System.out.println("请选择操作:");
    272             System.out.println("存款             请按1");
    273             System.out.println("取款             请按2");
    274             System.out.println("转账汇款      请按3");
    275             System.out.println("查询余额      请按4");
    276             System.out.println("退卡             请按5");
    277             Account data =new Account();
    278             Scanner scan6 = new Scanner(System.in);
    279             int g = scan6.nextInt();
    280             switch(g){
    281             case 1:
    282                 data.save();break;
    283             case 2:
    284                 data.get();break;
    285             case 3:
    286                 data.trans();break;
    287             case 4:
    288                 data.inquiry();break;
    289             case 5:
    290                 data.back();break;
    291             }
    292         }
    293         else
    294         {
    295             System.out.println("该卡已被锁定,无法操作。嘿嘿嘿~");
    296         }
    297 
    298 
    299     }
    300 
    301 }

    结果截图:

    1、密码错误

    2、密码正确

    1)存款并返回主界面

    2)取款不成功

    3)取款成功

    4)转账汇款不成功

    5)转账汇款成功

    6)查询余额

    7)退卡

    以上就是这个ATM模拟器的大致功能,有不足之处,望在评论区不吝赐教。

          这个程序经过适当的修润也可以通过小窗口的形式弹出来结果。这样运行的结果可以显得更加地方便与直观。但是,这样不便于理解源代码。大家不妨尝试一下。

  • 相关阅读:
    关于MapReduce中自定义分区类(四)
    关于MapReduce中自定义分组类(三)
    UiAutomator2.0
    Java_集合框架
    Python爬取指定重量的快递价格
    Java_面向对象
    Java_异常以及处理
    Java_File类
    Java_Scanner和System类
    Java_Runtime&Process&ProcessBuilder
  • 原文地址:https://www.cnblogs.com/ray-freedom/p/6080817.html
Copyright © 2020-2023  润新知