一嗨租车
posts - 14,  comments - 11,  trackbacks - 0
  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 阅读(278) 评论(0)  编辑  收藏 所属分类: Java

只有注册用户登录后才能发表评论。


网站导航: