实验六
实验内容:
类的封装
声明银行账户类Account,成员变量包括账号、储户姓名、开户时间、身份证号码、存款余额等账户信息,
成员方法包括开户、存款、取款、查询(余额、明细)、销户等操作
结果:
2019/04/14 18:03:00
请按照提示进行操作
请按照提示进行操作
***开户操作***
输入您的身份证号码:5555555
输入您的姓名:W
操作成功!!!
输入您的身份证号码:5555555
输入您的姓名:W
操作成功!!!
***存款操作***
2019/04/14 18:03:43存款操作:
请输入您的存款:300
操作成功!!!
2019/04/14 18:03:43存款操作:
请输入您的存款:300
操作成功!!!
***取款操作***
2019/04/14 18:03:44取款操作:
请输入需要取款的金额:500
对不起,当前操作失败。
余额不足,剩余300.0¥
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¥操作失败!!!
查询成功,账户信息如下:
您于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¥
操作成功!!!
——谢谢使用。——
销户操作成功!
当前账户姓名: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("对不起,当前操作失败。\n余额不足,剩余"+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("\t时间查询余额,当前账户余额:"+this.yue+"¥"); System.out.println("您于"+this.time[1]+"\t存款"+this.money[0]+"¥"+"操作成功!!!"); 79 if(this.money[0]>=this.money[1]) 80 System.out.println("您于"+this.time[2]+"\t取款"+this.money[1]+"¥"+"操作成功!!!"); 81 else 82 System.out.println("您于"+this.time[2]+"\t取款"+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("销户操作成功!\n当前账户姓名:"+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("\n***开户操作***"); 101 one.kaihu(); System.out.println("\n***存款操作***"); 102 one.cunkuan(); System.out.println("\n***取款操作***"); 103 one.qukuan(); System.out.println("\n***查询操作***"); 104 one.chaxun(); System.out.println("***销户操作***"); 105 one.xiaohu(); System.out.println("——谢谢使用——"); 106 } 107 }
心得:
对类的使用不熟练,
用方法返回的值进行判断操作,方法又被执行一次,不知道怎末解决
某些操作可以进一步简化
@勤奋的lu3