源代码:
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模拟器的大致功能,有不足之处,望在评论区不吝赐教。
这个程序经过适当的修润也可以通过小窗口的形式弹出来结果。这样运行的结果可以显得更加地方便与直观。但是,这样不便于理解源代码。大家不妨尝试一下。