实验六

实验内容:

   类的封装

声明银行账户类Account,成员变量包括账号、储户姓名、开户时间、身份证号码、存款余额等账户信息,

成员方法包括开户、存款、取款、查询(余额、明细)、销户等操作

结果:

2019/04/14 18:03:00
请按照提示进行操作
***开户操作***
输入您的身份证号码:5555555
输入您的姓名:W
操作成功!!!
***存款操作***
2019/04/14 18:03:43存款操作:
请输入您的存款:300
操作成功!!!
***取款操作***
2019/04/14 18:03:44取款操作:
请输入需要取款的金额:500
对不起,当前操作失败。
余额不足,剩余300.0¥
***查询操作***
查询成功,账户信息如下:
您于2019/04/14 18:03:00开户成功!
账户姓名:W
您的账号:153654656
您在Sun Apr 14 18:03:47 CST 2019 时间查询余额,当前账户余额:300.0¥
您于2019/04/14 18:03:43 存款300.0¥操作成功!!!
您于2019/04/14 18:03:44 取款500.0¥操作失败!!!
***销户操作***
销户操作成功!
当前账户姓名:null
当前账户账号:null
当前账户余额:0.0¥
操作成功!!!
——谢谢使用。——

  

源代码:

  1 package 实验六;
  2 import java.util.*;
  3 import java.text.*;
  4 public  class test_6 {
  5     public static class Account{
  6         private String account;//账号
  7         private String name;//姓名
  8         private String [] time=new String[3];//时间
  9         private String idcard;//身份证号码
 10         private float   yue;//余额
 11         private float [] money=new float[2];//放存款和取款金额
 12         public Account(String a)//String a,String n
 13         {this.account=a;
 14         this.name=null;
 15         this.idcard=null;
 16         this.yue=0;
 17         //开户时间放入time[0]中
 18         Date date=new Date();
 19         SimpleDateFormat f0=new SimpleDateFormat("yyyy/MM/dd HH:mm:00");
 20         this.time[0]=f0.format(date);
 21         System.out.println(this.time[0]);
 22         }
 23         public void kaihu() {
 24             //开户
 25             Scanner input=new Scanner(System.in);
 26             System.out.print("输入您的身份证号码:");
 27             this.idcard=input.nextLine();
 28             System.out.print("输入您的姓名:");
 29             this.name=input.nextLine();
 30             System.out.println("操作成功!!!");
 31         }
 32         public void cunkuan() {
 33             //存款
 34             Scanner input=new Scanner(System.in);
 35             Date date=new Date();
 36             SimpleDateFormat f1=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
 37             //    存款时间放入time[1]里
 38             this.time[1]=f1.format(date);
 39             System.out.println(this.time[1]+"存款操作:");
 40             System.out.print("请输入您的存款:");
 41             this.money[0]=input.nextInt();
 42                 this.yue+=this.money[0];
 43                 System.out.println("操作成功!!!");
 44         }
 45         public boolean qukuan() {
 46             //取款
 47             Scanner input=new Scanner(System.in);
 48             Date date=new Date();
 49             SimpleDateFormat f=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
 50             //    取款时间放入time[2]里
 51             this.time[2]=f.format(date);
 52             //System.out.println(this.time[2]);
 53             System.out.println(this.time[2]+"取款操作:");
 54             System.out.print("请输入需要取款的金额:");    
 55             final int withdrawals = input.nextInt();
 56             this.money[1]=withdrawals;
 57             if(withdrawals <= this.yue) 
 58             {            
 59                 this.yue-=withdrawals;        
 60                 System.out.println("余额为:" + this.yue+"¥");
 61                 System.out.println("操作成功!!!");
 62                 return true;
 63                 }
 64             else {        
 65   System.out.println("对不起,当前操作失败。
余额不足,剩余"+this.yue +"¥");    
 66                     return false;
 67             }    
 68                     }        
 69         public void chaxun() {
 70             //查询
 71             Scanner input=new Scanner(System.in);
 72         System.out.println("查询成功,账户信息如下:");
 73         System.out.println("您于"+this.time[0]+"开户成功!");
 74       System.out.println("账户姓名:"+this.name);
 75       System.out.println("您的账号:"+this.account);
 76         Date date=new Date();
 77         System.out.print("您在"+date);
 78         System.out.println("	时间查询余额,当前账户余额:"+this.yue+"¥");        System.out.println("您于"+this.time[1]+"	存款"+this.money[0]+"¥"+"操作成功!!!");
 79         if(this.money[0]>=this.money[1])
 80      System.out.println("您于"+this.time[2]+"	取款"+this.money[1]+"¥"+"操作成功!!!");
 81         else
 82             System.out.println("您于"+this.time[2]+"	取款"+this.money[1]+"¥"+"操作失败!!!");
 83      System.out.println();
 84      }
 85         public void xiaohu() {
 86             //销户
 87             this.name=null;
 88             this.account=null;
 89             this.yue=0;
 90             System.out.println("销户操作成功!
当前账户姓名:"+this.name);
 91             System.out.println("当前账户账号:"+this.account);    
 92             System.out.println("当前账户余额:"+this.yue+"¥");    
 93             System.out.println("操作成功!!!");
 94 }
 95     }
 96     public static void main(String[] args) {
 97         // TODO Auto-generated method stub
 98 Account one=new Account("153654656");//"1000110","李华"
 99 System.out.println("请按照提示进行操作");
100 System.out.println("
***开户操作***");
101     one.kaihu();    System.out.println("
***存款操作***");
102     one.cunkuan();    System.out.println("
***取款操作***");
103     one.qukuan();    System.out.println("
***查询操作***");
104     one.chaxun();    System.out.println("***销户操作***");
105     one.xiaohu();    System.out.println("——谢谢使用——");
106     }
107  }

心得:

  对类的使用不熟练,

用方法返回的值进行判断操作,方法又被执行一次,不知道怎末解决

某些操作可以进一步简化

@勤奋的lu3
原文地址:https://www.cnblogs.com/lul3/p/10706311.html