2020.9.22 (Java测试)
ATM机
1 //信1905-1班 20194020 王梦笛 2 package atm; 3 public class Account { 4 private String accountID; //学生用户账号 5 private String accountname; //账户名称 6 private String operatedate; //操作时间 7 private int operatetype; //操作账户的类型 8 private String accountpassword; //用户密码 9 private int accountbalance; //账户余额 10 private int amount; //操作流水金额 11 12 public void setaccountID(String accountID1) { 13 accountID=accountID1; 14 } 15 public String getaccountID() { 16 return accountID; 17 } 18 19 public void setaccountname(String accountname1) { 20 accountname=accountname1; 21 } 22 public String getaccountname() { 23 return accountname; 24 } 25 26 public void setoperatedate(String operatedate1) { 27 operatedate=operatedate1; 28 } 29 public String getoperatedate() { 30 return operatedate; 31 } 32 33 public void setoperatetype(int operatetype1) { 34 operatetype=operatetype1; 35 } 36 public int getoperatetype() { 37 return operatetype; 38 } 39 40 public void setaccountpassword(String accountpassword1) { 41 accountpassword=accountpassword1; 42 } 43 public String getaccountpassword() { 44 return accountpassword; 45 } 46 47 public void setaccountbalance(int accountbalance1) { 48 accountbalance=accountbalance1; 49 } 50 public int getaccountbalance() { 51 return accountbalance; 52 } 53 54 public void setamount(int amount1) { 55 amount=amount1; 56 } 57 public int getamount() { 58 return amount; 59 } 60 61 public Account(String accountID1,String accountname1,String accountpassword1,int accountbalance1) { 62 accountID=accountID1; 63 accountname=accountname1; 64 accountpassword=accountpassword1; 65 accountbalance=accountbalance1; 66 } 67 public Account() {} 68 }
1 //信1905-1班 20194020 王梦笛 2 package atm; 3 import java.util.Scanner; 4 public class AccountManger1 { 5 private static Account[] acc=new Account[5]; 6 private static int mf=-1; 7 private static int sf=-1; 8 public AccountManger1() { 9 for(int i=0;i<5;i++) { 10 acc[i]=new Account(); 11 } 12 acc[0]=new Account("20190001","lihua","000001",1000); 13 acc[1]=new Account("20190002","zhanghong","000002",2000); 14 acc[2]=new Account("20190003","wanggang","000003",3000); 15 acc[3]=new Account("20190004","sunli","000004",4000); 16 acc[4]=new Account("20190005","zhaoqiang","000005",5000); 17 } 18 //打印出主界面 19 public static void show1() { 20 System.out.println("*****************************************"); 21 System.out.println(" 欢迎使用中国工商银行自动柜员系统 "); 22 System.out.println("*****************************************"); 23 System.out.println(" 请输入您的账号: "); 24 System.out.println("*****************************************"); 25 } 26 27 public static void InputID() { 28 int flag=0; 29 Scanner con=new Scanner(System.in); 30 String accountid=con.next(); 31 for(int i=0;i<5;i++) { 32 if(accountid.equals(acc[i].getaccountID())) { 33 flag=1; 34 mf=i; 35 break; 36 } 37 } 38 if(flag==0) System.out.println("该卡不是工行卡!"); 39 if(flag==1) show2(); 40 } 41 42 //打印出输入密码界面 43 public static void show2() { 44 System.out.println("*****************************************"); 45 System.out.println(" 欢迎"+acc[mf].getaccountname()+"使用中国工商银行自动柜员系统 "); 46 System.out.println("*****************************************"); 47 System.out.println(" 请输入您的密码: "); 48 System.out.println("*****************************************"); 49 } 50 51 public static void Inputpassword() { 52 int m=0; 53 int f=2; 54 Scanner con=new Scanner(System.in); 55 do { 56 String accountpass=con.next(); 57 if(accountpass.compareTo(acc[mf].getaccountpassword())==0) { 58 f=1; 59 } 60 if(f==2) {System.out.println("密码录入错误!");show2();} 61 if(f==1) {System.out.println("密码输入成功!");show3();break;} 62 m++; 63 }while(m<3); 64 if(m==3)System.out.println("该账号三次录入密码错误,该卡已被系统没收,请与工商及时联系处理"); 65 } 66 //打印出功能界面 67 public static void show3() { 68 System.out.println("*****************************************"); 69 System.out.println(" 欢迎"+acc[mf].getaccountname()+"使用中国工商银行自动柜员系统 "); 70 System.out.println("*****************************************"); 71 System.out.println(" 1、存款 "); 72 System.out.println(" 2、取款 "); 73 System.out.println(" 3、转账汇款 "); 74 System.out.println(" 4、修改密码 "); 75 System.out.println(" 5、 查询余额 "); 76 System.out.println("*****************************************"); 77 } 78 //存款 79 public static void show4() { 80 System.out.println("*****************************************"); 81 System.out.println(" 欢迎"+acc[mf].getaccountname()+"使用中国工商银行自动柜员系统 "); 82 System.out.println("*****************************************"); 83 System.out.println(" 请输入存款金额: "); 84 System.out.println("*****************************************"); 85 } 86 public static void show5() { 87 System.out.println("*****************************************"); 88 System.out.println(" 欢迎"+acc[mf].getaccountname()+"使用中国工商银行自动柜员系统 "); 89 System.out.println("*****************************************"); 90 System.out.println(" 当前帐户存款成功! "); 91 System.out.println(" 当前帐户余额为:"+acc[mf].getaccountbalance()); 92 System.out.println("*****************************************"); 93 } 94 public static void cunkuan() { 95 Scanner con=new Scanner(System.in); 96 int money=con.nextInt(); 97 if(money!=(int)money) { 98 System.out.println("输入金额有误!"); 99 } 100 else { 101 acc[mf].setaccountbalance(acc[mf].getaccountbalance()+money); 102 show5(); 103 } 104 } 105 //取款 106 public static void show6() { 107 System.out.println("*****************************************"); 108 System.out.println(" 欢迎"+acc[mf].getaccountname()+"使用中国工商银行自动柜员系统 "); 109 System.out.println("*****************************************"); 110 System.out.println(" 当前帐户每日可以支取两万元 "); 111 System.out.println(" 1、100元 "); 112 System.out.println(" 2、500元 "); 113 System.out.println(" 3、1000元 "); 114 System.out.println(" 4、1500元 "); 115 System.out.println(" 5、2000元 "); 116 System.out.println(" 6、5000元 "); 117 System.out.println(" 7、其他金额 "); 118 System.out.println(" 8、退卡 "); 119 System.out.println(" 9、返回 "); 120 System.out.println("*****************************************"); 121 } 122 public static void show7() { 123 System.out.println("*****************************************"); 124 System.out.println(" 欢迎"+acc[mf].getaccountname()+"使用中国工商银行自动柜员系统 "); 125 System.out.println("*****************************************"); 126 System.out.println(" 请输入取款金额: "); 127 System.out.println("*****************************************"); 128 } 129 public static void show8() { 130 System.out.println("*****************************************"); 131 System.out.println(" 欢迎"+acc[mf].getaccountname()+"使用中国工商银行自动柜员系统 "); 132 System.out.println("*****************************************"); 133 System.out.println(" 当前帐户账户款成功! "); 134 System.out.println(" 当前帐户余额为:"+acc[mf].getaccountbalance()); 135 System.out.println("*****************************************"); 136 } 137 138 public static void qukuan() { 139 Scanner con=new Scanner(System.in); 140 System.out.println("请选择:"); 141 int p=con.nextInt(); 142 if(p==1) {if(acc[mf].getaccountbalance()<100)System.out.println("账户余额不足"); 143 else { 144 acc[mf].setaccountbalance(acc[mf].getaccountbalance()-100); 145 show8(); 146 }} 147 else if(p==2) {if(acc[mf].getaccountbalance()<500)System.out.println("账户余额不足"); 148 else { 149 acc[mf].setaccountbalance(acc[mf].getaccountbalance()-500); 150 show8(); 151 }} 152 else if(p==3) {if(acc[mf].getaccountbalance()<1000)System.out.println("账户余额不足"); 153 else { 154 acc[mf].setaccountbalance(acc[mf].getaccountbalance()-1000); 155 show8(); 156 }} 157 else if(p==4) {if(acc[mf].getaccountbalance()<1500)System.out.println("账户余额不足"); 158 else { 159 acc[mf].setaccountbalance(acc[mf].getaccountbalance()-1500); 160 show8(); 161 }} 162 else if(p==5) {if(acc[mf].getaccountbalance()<2000)System.out.println("账户余额不足"); 163 else { 164 acc[mf].setaccountbalance(acc[mf].getaccountbalance()-2000); 165 show8(); 166 }} 167 else if(p==6) {if(acc[mf].getaccountbalance()<5000)System.out.println("账户余额不足"); 168 else { 169 acc[mf].setaccountbalance(acc[mf].getaccountbalance()-5000); 170 show8(); 171 }} 172 else if(p==7) { 173 show7(); 174 int qu=con.nextInt(); 175 if(acc[mf].getaccountbalance()<qu)System.out.println("账户余额不足"); 176 else { 177 acc[mf].setaccountbalance(acc[mf].getaccountbalance()-qu); 178 show8(); 179 } 180 } 181 else if(p==8) { 182 show1(); 183 InputID(); 184 Inputpassword(); 185 int n; 186 System.out.println("请输入序号:"); 187 n=con.nextInt(); 188 switch(n) { 189 case 1:{ 190 show4(); 191 cunkuan(); 192 show5(); 193 break; 194 } 195 case 2:{ 196 show6(); 197 qukuan(); 198 break; 199 } 200 case 3:{ 201 show9(); 202 break; 203 } 204 case 4:{ 205 xiugaimima();break; 206 } 207 case 5:{ 208 chaxun(); 209 break; 210 } 211 } 212 } 213 else if(p==9) {show3(); 214 System.out.println("请输入序号:"); 215 int n=con.nextInt(); 216 switch(n) { 217 case 1:{ 218 show4(); 219 cunkuan(); 220 show5(); 221 break; 222 } 223 case 2:{ 224 show6(); 225 qukuan(); 226 break; 227 } 228 case 3:{ 229 show9(); 230 break; 231 } 232 case 4:{ 233 xiugaimima();break; 234 } 235 case 5:{ 236 chaxun(); 237 break; 238 } 239 } 240 241 } 242 } 243 244 //转账 245 public static void show9() { 246 System.out.println("*****************************************"); 247 System.out.println(" 欢迎"+acc[mf].getaccountname()+"使用中国工商银行自动柜员系统 "); 248 System.out.println("*****************************************"); 249 System.out.println(" 请输入转账账户: "); 250 System.out.println("*****************************************"); 251 } 252 public static void show10() { 253 System.out.println("*****************************************"); 254 System.out.println(" 欢迎"+acc[mf].getaccountname()+"使用中国工商银行自动柜员系统 "); 255 System.out.println("*****************************************"); 256 System.out.println(" 请输入转账金额: "); 257 System.out.println("*****************************************"); 258 } 259 public static void zhuazhang1() { 260 int flag=0; 261 Scanner con=new Scanner(System.in); 262 String str=con.next(); 263 for(int i=0;i<5;i++) { 264 if(str.equals(acc[i].getaccountID())) { 265 flag=1; 266 sf=i; 267 break; 268 } 269 } 270 if(flag==0) System.out.println("该账户不存在!"); 271 if(flag==1)show10(); 272 } 273 public static void zhuanzhang2() { 274 Scanner con=new Scanner(System.in); 275 int mo=con.nextInt(); 276 if(acc[sf].getaccountbalance()<mo)System.out.println("账户余额不足!"); 277 else { 278 System.out.println("*****************************************"); 279 System.out.println(" 欢迎"+acc[mf].getaccountname()+"使用中国工商银行自动柜员系统 "); 280 System.out.println("*****************************************"); 281 System.out.println(" 请确认是否向"+acc[sf].getaccountname()+"转账"+mo+"元(Y/N)"); 282 System.out.println("*****************************************"); 283 String a=con.next(); 284 if(a.equals("N")) { 285 show3(); 286 System.out.println("请输入序号:"); 287 int n=con.nextInt(); 288 switch(n) { 289 case 1:{ 290 show4(); 291 cunkuan(); 292 show5(); 293 break; 294 } 295 case 2:{ 296 show6(); 297 qukuan(); 298 break; 299 } 300 case 3:{ 301 show9(); 302 break; 303 } 304 case 4:{ 305 xiugaimima();break; 306 } 307 case 5:{ 308 chaxun(); 309 break; 310 } 311 } 312 } 313 if(a.equals("Y")) { 314 System.out.println("*****************************************"); 315 System.out.println(" 欢迎"+acc[mf].getaccountname()+"使用中国工商银行自动柜员系统 "); 316 System.out.println("*****************************************"); 317 System.out.println(" 当前帐户向"+acc[sf].getaccountname()+"成功转账"+mo+"元"); 318 System.out.println(" 当前帐户余额为:"+(acc[sf].getaccountbalance()-mo)+"元"); 319 System.out.println("*****************************************"); 320 } 321 } 322 } 323 //修改密码 324 public static void xiugaimima() { 325 Scanner con=new Scanner(System.in); 326 System.out.println("请输入新密码:"); 327 String mima=con.next(); 328 acc[mf].setaccountpassword(mima); 329 System.out.println("修改密码成功!"); 330 } 331 //查询余额 332 public static void chaxun() { 333 System.out.println("余额为:"+acc[mf].getaccountbalance()); 334 } 335 //输入q返回登录账户界面 336 public static void tuichu() { 337 Scanner con=new Scanner(System.in); 338 if(con.next().equals("q")) { 339 show1(); 340 InputID(); 341 Inputpassword(); 342 int n; 343 System.out.println("请输入序号:"); 344 n=con.nextInt(); 345 switch(n) { 346 case 1:{ 347 show4(); 348 cunkuan(); 349 show5(); 350 break; 351 } 352 case 2:{ 353 show6(); 354 qukuan(); 355 break; 356 } 357 case 3:{ 358 show9(); 359 break; 360 } 361 case 4:{ 362 xiugaimima();break; 363 } 364 case 5:{ 365 chaxun(); 366 break; 367 } 368 } 369 } 370 } 371 372 public static void main(String[] args) { 373 Scanner con=new Scanner(System.in); 374 AccountManger1 atm=new AccountManger1(); 375 show1(); 376 InputID(); 377 Inputpassword(); 378 int n; 379 System.out.println("请输入序号:"); 380 n=con.nextInt(); 381 switch(n) { 382 case 1:{ 383 show4(); 384 cunkuan(); 385 tuichu(); 386 break; 387 } 388 case 2:{ 389 show6(); 390 qukuan(); 391 break; 392 } 393 case 3:{ 394 show9(); 395 zhuazhang1(); 396 zhuanzhang2(); 397 tuichu(); 398 break; 399 } 400 case 4:{ 401 xiugaimima(); 402 tuichu(); 403 break; 404 } 405 case 5:{ 406 chaxun(); 407 tuichu(); 408 break; 409 } 410 } 411 } 412 }