1package myacctest;
2import java.util.*;
3
4class Account {
5final int Max=10;
6private int top;
7private int Ac_id;
8private long Ac_card;
9private String Ac_date[]=new String[Max];
10private String Ac_name[]=new String[Max];
11private int Ac_money[]=new int[Max];
12private int Ac_rest[]=new int[Max];
13private static int Ac_sum=0;
14private static int CurMoney;
15
16public Account()
17{
18 top=0;
19 Ac_id=0;
20 Ac_name[top]="";//
21 Ac_card=0;
22
23}
24
25void Ac_in(String aAc_name,String aAc_date,int aAc_money)
26{
27 Ac_date[top]=aAc_date;
28 Ac_name[top]=aAc_name;//
29 Ac_money[top]=aAc_money;
30 Ac_sum=Ac_sum+aAc_money;
31 Ac_rest[top]=Ac_sum;
32 System.out.println("["+top+"]"+"储户姓名:"+Ac_name[top]+"日期:"+Ac_date[top]+"存入"+Ac_money[top]+" 存款余额"+Ac_rest[top]);
33 top++;
34}
35
36void Ac_out(String aAc_name,String aAc_date,int aAc_money)
37{
38 CurMoney=Ac_sum; //赋值
39 Ac_date[top]=aAc_date;
40 Ac_name[top]=aAc_name;
41 Ac_money[top]=-aAc_money;
42 Ac_sum=Ac_sum-aAc_money;
43 Ac_rest[top]=Ac_sum;
44/**//* if (aAc_money>CurMoney) //判断余额
45 {System.out.println("**********************\n下列数据异常:余额不足!\n**********************");
46 } */ //输出语句
47 if (Ac_sum<0) //判断余额
48 {System.out.println("**********************\n下列数据异常:余额不足!\n**********************");
49 }
50 System.out.println("["+top+"]"+"储户姓名:"+Ac_name[top]+"日期:"+Ac_date[top]+"取出"+(-Ac_money[top])+" 存款余额"+Ac_rest[top]);
51 top++;
52}
53
54void Ac_ask(String aAc_name,String aAc_date)
55{
56 Ac_date[top]=aAc_date;
57 Ac_name[top]=aAc_name;
58 Ac_money[top]=0;
59 Ac_rest[top]=Ac_sum;
60 System.out.println("["+top+"]"+"储户姓名:"+Ac_name[top]+"日期:"+Ac_date[top]+"查询存款余额:"+Ac_rest[top]);
61 top++;
62}
63
64/**//*void Ac_add()
65{ System.out.println("\n\n**********************\n数据修改\n**********************\n\n\n");
66 System.out.print("输入行号:");
67 Scanner inx=new Scanner(System.in);
68 int xinput=inx.nextInt();
69 top=xinput;
70 System.out.print("输入数据:");
71 Scanner inz=new Scanner(System.in);
72 int input=inz.nextInt();
73 Ac_rest[top]+=input;
74
75}*/
76void Ac_add()
77{ System.out.println("\n\n**********************\n数据余额\n**********************\n\n\n");
78 System.out.print("输入数据:");
79 Scanner inz=new Scanner(System.in);
80 int input=inz.nextInt();
81 Ac_rest[top-1]+=input;
82 System.out.println("["+(top-1)+"]"+"储户姓名:"+Ac_name[top-1]+"日期:"+Ac_date[top-1]+"存款余额为:"+Ac_rest[top-1]);
83}
84/**//*void Ac_disp()
85{
86 //String Ac_name="CH.L "; //无法引用姓名
87 System.out.println("["+top+"]"+"储户姓名:"+Ac_name[top]+" 日期:"+Ac_date[top]+" 存款余额:"+Ac_rest[top]);
88}*/
89
90}
91
92public class BankAccount
93{
94 public static void main(String[] args)
95 {
96 Account chang=new Account();
97 chang.Ac_in("CH.L ", "2008.4.1 ", 2000);
98 chang.Ac_in("CH.L ", "2008.4.2 ", 5000);
99 chang.Ac_out("CH.L ", "2008.4.3 ", 2000);
100 chang.Ac_out("CH.L ", "2008.4.4 ", 3000);
101 chang.Ac_in("CH.L ", "2008.4.5 ", 4000);
102 chang.Ac_out("CH.L ", "2008.4.6 ", 1000);
103 chang.Ac_ask("CH.L ", "2008.4.7 ");
104 chang.Ac_add();
105 //chang.Ac_disp();
106
107
108 }
109}
110
注:这是课后作业的代码,自己增加了判断余额的条件和Ac_add / Ac_disp方法来修改数据,这个程序采用Java的数组来标识每一轮的操作,源程序中定义的是String类型的Ac_name,后来发现这样在修改的时候数组没法使用,会造成姓名无法引用的问题,将Ac_name改为数组类型就可以了.
GO ON FIGHTING!!!
posted on 2008-05-06 13:01
CH.L 阅读(282)
评论(0) 编辑 收藏 所属分类:
Java