1 package test; 2 3 //信1705-1 20173476 高宇 4 public class Account { 5 6 private String accountID; //用户账号 7 private String accountName; //姓名 8 private String operatedate; //日期 9 private int operatetype; //用于存储操作账户的类型 10 private String accountpassword; // 用户密码 11 private int accountbalance; // 账户余额 12 private int amount; // 操作流水金额 13 14 public String getaccountID() 15 {return accountID;} 16 public void setaccountID(String accountID) 17 {this.accountID = accountID;} 18 19 public String getaccountName() 20 {return accountName;} 21 public void setaccountname(String name) 22 {this.accountName = name;} 23 24 public String getoperatedate() 25 {return operatedate;} 26 public void setoperatedate(String date) 27 {this.operatedate = date;} 28 29 public int getoperatetype() 30 {return operatetype;} 31 public void setoperatetype(int type) 32 {this.operatetype = type;} 33 34 public String getaccountpassword() 35 {return accountpassword;} 36 public void setaccountpassword(String password) 37 {this.accountpassword = password;} 38 39 public int getaccountbalance() 40 {return accountbalance;} 41 public void setaccountbalance(int balance) 42 {this.accountbalance = balance;} 43 44 public int getamount() 45 {return amount;} 46 public void setamount(int amount) 47 {this.amount = amount;} 48 49 50 }
1 package test; 2 3 4 5 import java.io.File; 6 import java.io.FileWriter; 7 import java.io.IOException; 8 import java.sql.Date; 9 import java.text.DateFormat; 10 import java.text.SimpleDateFormat; 11 import java.util.Scanner; 12 13 public class AccountManager { 14 static String b,l,e; 15 static Account s = new Account(); 16 static int n; 17 static Account[] a = new Account[5]; 18 static Scanner in = new Scanner(System.in); 19 20 21 22 public static void main(String[] args) throws IOException { 23 // TODO 自动生成的方法存根 24 setinformation(); 25 file1(); 26 27 Date date = new Date(n, n, n); 28 DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); 29 String time = format.format(date); 30 a[n].setoperatedate(time); 31 f1(); 32 33 } 34 35 private static void setinformation() { 36 // TODO 自动生成的方法存根 37 for(int i = 0; i < 5; i++) { 38 a[i] = new Account(); 39 } 40 a[0].setaccountID("20170001"); 41 a[0].setaccountname("wang"); 42 a[0].setaccountpassword("0001"); 43 a[0].setaccountbalance(1000); 44 45 46 a[1].setaccountID("20170002"); 47 a[1].setaccountname("li"); 48 a[1].setaccountpassword("0002"); 49 a[1].setaccountbalance(1000); 50 51 a[2].setaccountID("20170003"); 52 a[2].setaccountname("zhang"); 53 a[2].setaccountpassword("0003"); 54 a[2].setaccountbalance(1000); 55 56 a[3].setaccountID("20170004"); 57 a[3].setaccountname("liu"); 58 a[3].setaccountpassword("0004"); 59 a[3].setaccountbalance(1000); 60 61 a[4].setaccountID("20170005"); 62 a[4].setaccountname("lin"); 63 a[4].setaccountpassword("0005"); 64 a[4].setaccountbalance(1000); 65 66 } 67 68 public static void f1() 69 { 70 String word; 71 72 System.out.println("***************************************************************" + '\n'); 73 System.out.println('\t' + "欢迎使用中国工商银行自动柜员系统" + '\n'); 74 System.out.println("***************************************************************" + '\n'); 75 System.out.println('\t' + "请输入您的账号:" + '\n'); 76 System.out.println("***************************************************************" + '\n'); 77 b = in.next(); 78 int j=0; 79 if(b.length() != 8 ) 80 { 81 System.out.println("该卡不是工行卡"); 82 f1(); 83 84 } 85 else { 86 87 for (int i = 0; i < 5;i++) 88 { 89 if(b.equals(a[i].getaccountID())) 90 { 91 j++; 92 System.out.println("***************************************************************" + '\n'); 93 System.out.println('\t' + "欢迎" + a[n].getaccountName() + "使用中国工商银行自助柜员系统"); 94 System.out.println("***************************************************************" + '\n'); 95 System.out.println('\t' + "请输入您的密码:" + '\n'); 96 word = in.next(); 97 System.out.println("***************************************************************" + '\n'); 98 if(word.equals(a[i].getaccountpassword())) { 99 n = i; 100 f2(); 101 break; 102 } 103 else 104 { 105 System.out .println("密码错误"); 106 f1(); 107 } 108 } 109 110 } 111 if(j == 0) 112 System.out.println("该账号不存在"); 113 114 } 115 } 116 117 118 private static void f2() { 119 int x; 120 System.out.println("***************************************************************" + '\n'); 121 System.out.println('\t' + "欢迎" + a[n].getaccountName() + "使用中国工商银行自助柜员系统" + '\n'); 122 System.out.println("***************************************************************" + '\n'); 123 System.out.println("1、存款;" + '\n'); 124 System.out.println("2、取款;" + '\n'); 125 System.out.println("3、转账汇款;" + '\n'); 126 System.out.println("4、修改密码;"+ '\n'); 127 System.out.println("5、查询余额;" + '\n'); 128 System.out.println("***************************************************************" + '\n'); 129 x = in.nextInt(); 130 a[n].setoperatetype(x); 131 switch(x) 132 { 133 case 1:t1();break; 134 case 2:t2();break; 135 case 3:t3();break; 136 case 4:t4();break; 137 case 5:t5();break; 138 } 139 } 140 141 private static void t5() { 142 // TODO 自动生成的方法存根 143 System.out.println("***************************************************************" + '\n'); 144 System.out.println('\t' + "欢迎" + a[n].getaccountName() + "使用中国工商银行自助柜员系统" + '\n'); 145 System.out.println("***************************************************************" + '\n'); 146 System.out.println('\t' + "当前余额为:" + a[n].getaccountbalance() +'\n'); 147 System.out.println('\t' + "账户清单信息为:" + '\n'); 148 System.out.println('\t' + "操作日期" +a[n].getoperatedate() + '\t' + "操作类型"); 149 switch(a[n].getoperatetype()) 150 { 151 case 1:System.out.println("存款" + '\t');break; 152 case 2:System.out.println("取款" + '\t');break; 153 case 3:System.out.println("转账汇款" + '\t');break; 154 case 4:System.out.println("修改密码" + '\t');break; 155 case 5:System.out.println("查询余额" + '\t');break; 156 157 } 158 System.out.println('\t' + "操作金额" + a[n].getamount() + '\n'); 159 System.out.println("***************************************************************" + '\n'); 160 try { 161 file1(); 162 } catch (IOException e) { 163 // TODO 自动生成的 catch 块 164 e.printStackTrace(); 165 } 166 try { 167 file2(); 168 } catch (IOException e) { 169 // TODO 自动生成的 catch 块 170 e.printStackTrace(); 171 } 172 f2(); 173 174 } 175 176 private static void t4() { 177 // TODO 自动生成的方法存根 178 String u,w,y; 179 System.out.println("***************************************************************" + '\n'); 180 System.out.println('\t' + "欢迎" + a[n].getaccountName() + "使用中国工商银行自助柜员系统" + '\n'); 181 System.out.println("***************************************************************" + '\n'); 182 System.out.println('\t' + "请输入当前密码:" + '\n'); 183 u = in.next(); 184 if(u.equals(a[n].getaccountpassword())) { 185 System.out.println('\t' + "请输入修改密码:" + '\n'); 186 w = in.next(); 187 System.out.println('\t' + "请输入确认密码:" + '\n'); 188 y = in.next(); 189 if(w.equals(y)) 190 { 191 a[n].setaccountpassword(y); 192 System.out.println("***************************************************************" + '\n'); 193 System.out.println('\t' + "欢迎" + a[n].getaccountName() + "使用中国工商银行自助柜员系统" + '\n'); 194 System.out.println("***************************************************************" + '\n'); 195 System.out.println('\t' + "当前账户密码修改成功" + '\n'); 196 System.out.println("***************************************************************" + '\n'); 197 try { 198 file1(); 199 } catch (IOException e) { 200 // TODO 自动生成的 catch 块 201 e.printStackTrace(); 202 } 203 try { 204 file2(); 205 } catch (IOException e) { 206 // TODO 自动生成的 catch 块 207 e.printStackTrace(); 208 } 209 f2(); 210 } 211 else 212 {System.out.println('\t' + "修改密码与确认密码不一致" + '\n'); 213 t4(); 214 } 215 } 216 else 217 { 218 System.out.println('\t' + "当前密码录入错误" + '\n'); 219 t4(); 220 } 221 222 } 223 224 private static void t3() { 225 // TODO 自动生成的方法存根 226 int j=0,k, s = 0; 227 String x; 228 String m,o; 229 System.out.println("***************************************************************" + '\n'); 230 System.out.println('\t' + "欢迎" + a[n].getaccountName() + "使用中国工商银行自助柜员系统" + '\n'); 231 System.out.println("***************************************************************" + '\n'); 232 System.out.println('\t' + "请输入转账账户;" + '\n'); 233 System.out.println("***************************************************************" + '\n'); 234 m = in.next(); 235 for(int i = 0;i<5;i++) 236 { 237 if( m.equals(a[i].getaccountID())) 238 { 239 j++; 240 k = i; 241 System.out.println("***************************************************************" + '\n'); 242 System.out.println('\t' + "欢迎" + a[k].getaccountName() + "使用中国工商银行自助柜员系统" + '\n'); 243 System.out.println("***************************************************************" + '\n'); 244 System.out.println('\t' + "请输入转账金额;" + '\n'); 245 System.out.println("***************************************************************" + '\n'); 246 x = in.next(); 247 char[] x1 = x.toCharArray(); 248 for(int c = 0;c < x.length();c++) 249 { 250 if((x1[c] - '0')>=0&&(x1[c] - '0')<10) 251 { 252 253 s = s*10 + (x1[c] - '0'); 254 } 255 else 256 { 257 System.out.println("输入错误请重新输入"); 258 t3(); 259 } 260 } 261 a[n].setamount(s); 262 if(a[n].getaccountbalance() >= s) 263 { 264 System.out.println("***************************************************************" + '\n'); 265 System.out.println('\t' + "欢迎" + a[k].getaccountName() + "使用中国工商银行自助柜员系统" + '\n'); 266 System.out.println("***************************************************************" + '\n'); 267 System.out.println('\t' + "请确认向" + a[k].getaccountName() +"转账" + s +"元" + '\n'); 268 System.out.println("***************************************************************" + '\n'); 269 System.out.println("确认请按Y,不确认请按N"); 270 o = in.next(); 271 if(o.equals("n")) 272 {f1();} 273 else { 274 System.out.println("***************************************************************" + '\n'); 275 System.out.println('\t' + "欢迎" + a[k].getaccountName() + "使用中国工商银行自助柜员系统" + '\n'); 276 System.out.println("***************************************************************" + '\n'); 277 System.out.println('\t' + a[n].getaccountName() +"用户向" + a[k].getaccountName() + "用户"+ "转账" + x + "元" + '\n'); 278 a[n].setaccountbalance(a[n].getaccountbalance() - s); 279 System.out.println('\t' + "当前账户余额为:" + a[n].getaccountbalance() +"元"+ '\n'); 280 System.out.println("***************************************************************" + '\n'); 281 try { 282 file1(); 283 } catch (IOException e) { 284 // TODO 自动生成的 catch 块 285 e.printStackTrace(); 286 } 287 288 try { 289 file2(); 290 } catch (IOException e) { 291 // TODO 自动生成的 catch 块 292 e.printStackTrace(); 293 } 294 f2(); 295 } 296 297 } 298 } 299 300 } 301 if(j == 0) { 302 System.out.println("该账户不存在"); 303 t3();} 304 } 305 306 private static void t2() { 307 // TODO 自动生成的方法存根 308 int x,m = 0; 309 String k; 310 System.out.println("***************************************************************" + '\n'); 311 System.out.println('\t' + "欢迎" + a[n].getaccountName() + "使用中国工商银行自助柜员系统" + '\n'); 312 System.out.println("***************************************************************" + '\n'); 313 System.out.println('\t' + "当前账户每日可以支取2万元."); 314 System.out.println('\t' + "1、100元"); 315 System.out.println('\t' + "2、500元"); 316 System.out.println('\t' + "3、1000元"); 317 System.out.println('\t' + "4、1500元"); 318 System.out.println('\t' + "5、2000元"); 319 System.out.println('\t' + "6、5000元;"); 320 System.out.println('\t' + "7、其他金额"); 321 System.out.println('\t' + "8、退卡"); 322 System.out.println('\t' + "9、返回"); 323 x = in.nextInt(); 324 System.out.println("***************************************************************" + '\n'); 325 326 switch(x) 327 { 328 case 1: 329 if(a[n].getaccountbalance() >= 100){ 330 a[n].setamount(100); 331 a[n].setaccountbalance(a[n].getaccountbalance() - 100);break;} 332 else {System.out.println("账户余额不足");break;} 333 case 2: 334 if(a[n].getaccountbalance() >= 500){ 335 a[n].setamount(500); 336 a[n].setaccountbalance(a[n].getaccountbalance() - 500);break;} 337 else {System.out.println("账户余额不足");break;} 338 case 3: 339 if(a[n].getaccountbalance() >= 1000){ 340 a[n].setamount(1000); 341 a[n].setaccountbalance(a[n].getaccountbalance() - 1000);break;} 342 else {System.out.println("账户余额不足");break;} 343 case 4: 344 if(a[n].getaccountbalance() >= 1500){ 345 a[n].setamount(1500); 346 a[n].setaccountbalance(a[n].getaccountbalance() - 1500);break;} 347 else {System.out.println("账户余额不足");break;} 348 case 5: 349 if(a[n].getaccountbalance() >= 2000){ 350 a[n].setamount(2000); 351 a[n].setaccountbalance(a[n].getaccountbalance() - 2000);break;} 352 else {System.out.println("账户余额不足");break;} 353 case 6: 354 if(a[n].getaccountbalance() >= 5000){ 355 a[n].setamount(5000); 356 a[n].setaccountbalance(a[n].getaccountbalance() - 5000);break;} 357 else {System.out.println("账户余额不足");break;} 358 case 7: 359 {System.out.println("***************************************************************" + '\n'); 360 System.out.println('\t' + "欢迎" + a[n].getaccountName() + "使用中国工商银行自助柜员系统" + '\n'); 361 System.out.println("***************************************************************" + '\n'); 362 System.out.println('\t' + "请输入取款金额;" + '\n'); 363 System.out.println("***************************************************************" + '\n'); 364 k = in.next(); 365 char[] k1 = k.toCharArray(); 366 for(int i = 0;i<k.length();i++) 367 { 368 if((k1[i] - '0')>=0 && (k1[i] - '0')<10) 369 { 370 m = m*10 + (k1[i] - '0'); 371 } 372 else 373 { 374 System.out.println("输入错误请重新输入"); 375 t2(); 376 break;} 377 } 378 a[n].setamount(m); 379 if(a[n].getaccountbalance() >= m) 380 { 381 a[n].setaccountbalance(a[n].getaccountbalance() - m);break; 382 } 383 else {System.out.println("账户余额不足");break;} 384 } 385 case 8:f1();break; 386 case 9:f2();break; 387 } 388 System.out.println("***************************************************************" + '\n'); 389 System.out.println('\t' + "当前账户取款操作成功。" + '\n'); 390 System.out.println('\t' + "当前账户余额为:" + a[n].getaccountbalance() +"元" + '\n'); 391 System.out.println("***************************************************************" + '\n'); 392 try { 393 file1(); 394 } catch (IOException e) { 395 // TODO 自动生成的 catch 块 396 e.printStackTrace(); 397 } 398 try { 399 file2(); 400 } catch (IOException e) { 401 // TODO 自动生成的 catch 块 402 e.printStackTrace(); 403 } 404 f2(); 405 } 406 407 private static void t1() { 408 // TODO 自动生成的方法存根 409 int x = 0; 410 String k; 411 System.out.println("***************************************************************" + '\n'); 412 System.out.println('\t' + "欢迎" + a[n].getaccountName() + "使用中国工商银行自助柜员系统" + '\n'); 413 System.out.println("***************************************************************" + '\n'); 414 System.out.println('\t' + "请输入存款金额;"); 415 k = in.next(); 416 char[] k1 = k.toCharArray(); 417 for(int i = 0;i<k.length();i++) 418 { 419 420 if((k1[i]-'0')>=0 && (k1[i]-'0')<10) 421 { 422 423 x = x*10 + (k1[i] - '0'); 424 } 425 else 426 { 427 System.out.println("输入错误请重新输入"); 428 t1(); 429 break;} 430 } 431 a[n].setamount(x); 432 System.out.println("***************************************************************" + '\n'); 433 a[n].setaccountbalance(a[n].getaccountbalance() + x); 434 System.out.println("***************************************************************" + '\n'); 435 System.out.println('\t' + "欢迎" + a[n].getaccountName() + "使用中国工商银行自助柜员系统" + '\n'); 436 System.out.println("***************************************************************" + '\n'); 437 System.out.println('\t' + "当前账户存款操作成功。" + '\n'); 438 System.out.println('\t' + "当前账户余额为:" + a[n].getaccountbalance() +"元"+ '\n'); 439 System.out.println("***************************************************************" + '\n'); 440 try { 441 file1(); 442 } catch (IOException e) { 443 // TODO 自动生成的 catch 块 444 e.printStackTrace(); 445 } 446 try { 447 file2(); 448 } catch (IOException e) { 449 // TODO 自动生成的 catch 块 450 e.printStackTrace(); 451 } 452 f2(); 453 454 } 455 456 public static void file1() throws IOException 457 { 458 File file1 = new File("d:\\信1705-1 20173476 高宇\\accountinformation.txt"); 459 FileWriter out = new FileWriter(file1); 460 for(int i = 0;i<5;i++) 461 { 462 out.write(a[i].getaccountID() + '\t' + a[i].getaccountName() + '\t' + a[i].getaccountpassword() + '\t' +a[i].getaccountbalance() + '\t'); 463 } 464 out.close();} 465 466 public static void file2() throws IOException 467 { 468 File file2 = new File("d:\\信1705-1 20173476 高宇\\accountlist.txt"); 469 FileWriter q = new FileWriter(file2); 470 q.write("账号" + a[n].getaccountID() + '\t' + "用户名:" + a[n].getaccountName() + '\t' + "日期"+ a[n].getoperatedate() + '\t' +"操作金额" + a[n].getamount() + '\t' + "操作类型"); 471 switch(a[n].getoperatetype()) 472 { 473 case 1:q.write("存款" + '\t');break; 474 case 2:q.write("取款" + '\t');break; 475 case 3:q.write("转账汇款" + '\t');break; 476 case 4:q.write("修改密码" + '\t');break; 477 case 5:q.write("查询余额" + '\t');break; 478 479 } 480 q.close(); } 481 482 }