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 }