1
package myacctest;
2
import java.util.*;
3![](/Images/OutliningIndicators/None.gif)
4![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
class Account
{
5
final int Max=10;
6
private int top;
7
private int Ac_id;
8
private long Ac_card;
9
private String Ac_date[]=new String[Max];
10
private String Ac_name[]=new String[Max];
11
private int Ac_money[]=new int[Max];
12
private int Ac_rest[]=new int[Max];
13
private static int Ac_sum=0;
14
private static int CurMoney;
15![](/Images/OutliningIndicators/InBlock.gif)
16
public Account()
17![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
{
18
top=0;
19
Ac_id=0;
20
Ac_name[top]="";//
21
Ac_card=0;
22
23
}
24![](/Images/OutliningIndicators/InBlock.gif)
25
void Ac_in(String aAc_name,String aAc_date,int aAc_money)
26![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
{
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![](/Images/OutliningIndicators/InBlock.gif)
36
void Ac_out(String aAc_name,String aAc_date,int aAc_money)
37![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
{
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![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
/**//* if (aAc_money>CurMoney) //判断余额
45
{System.out.println("**********************\n下列数据异常:余额不足!\n**********************");
46
} */ //输出语句
47
if (Ac_sum<0) //判断余额
48![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{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![](/Images/OutliningIndicators/InBlock.gif)
54
void Ac_ask(String aAc_name,String aAc_date)
55![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
{
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![](/Images/OutliningIndicators/InBlock.gif)
64![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
/**//*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![](/Images/OutliningIndicators/InBlock.gif)
75
}*/
76
void Ac_add()
77![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
{ 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![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
/**//*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![](/Images/OutliningIndicators/InBlock.gif)
90
}
91![](/Images/OutliningIndicators/None.gif)
92
public class BankAccount
93![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
94
public static void main(String[] args)
95![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
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![](/Images/OutliningIndicators/InBlock.gif)
107
108
}
109
}
110![](/Images/OutliningIndicators/None.gif)
注:这是课后作业的代码,自己增加了判断余额的条件和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