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模拟器的大致功能,有不足之处,望在评论区不吝赐教。

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

原文地址:https://www.cnblogs.com/ray-freedom/p/6080817.html