实验六:类的封装
作者:互联网
一、实验代码如下:
1 package 实验6; 2 3 import java.util.Scanner; 4 5 6 public class Account { 7 8 public int id; 9 public String name; 10 public long number; 11 public long time; 12 public int money; 13 14 //方法Account(),创建账户的账号、姓名和余额等 15 public Account(int id, String name, long number,long time, int money) { 16 17 this.id = id; 18 this.name = name; 19 this.number = number; 20 this.time = time; 21 this.money = money; 22 } 23 24 25 26 //方法Display(),显示账户的账号、姓名和余额信息 27 public void Display(){ 28 System.out.println("账户:" + id); 29 System.out.println("姓名:" + name); 30 System.out.println("身份证号:" + number); 31 System.out.println("开户时间" + time); 32 System.out.println("余额:" + money); 33 } 34 35 /*取款方法 takeMoney(),先让用户验证去除金额是否小于余额, 36 取款成功后余额减除相应的金额*/ 37 public void takeMoney(){ 38 39 Scanner sc = new Scanner(System.in); 40 System.out.println("请输入需要取款的金额:"); 41 int withdrawals = sc.nextInt(); 42 if(withdrawals <= money) { 43 money= money-withdrawals; 44 System.out.println("账户余额:" + money); 45 } 46 else { 47 System.out.println("当前余额不足!"); 48 } 49 } 50 51 52 /*存款方法 saveMoney(int moneys), 53 存款是直接传入存款金额,账户余额增加相应的金额*/ 54 public void saveMoney(int inmoney){ 55 money = money + inmoney; 56 System.out.println("此次存款为:" + inmoney); 57 System.out.println("账户余额:" + money); 58 } 59 /*销户方法 finalize(), 60 利用析构函数,释放内存空间*/ 61 protected void finalize() 62 { 63 64 System.out.println("Destructor called!"); 65 } 66 67 public static void main(String[] args) { 68 Account acc = new Account(10000,"张灿",123456,20190413,100000); 69 /* 70 acc.id = 10000; 71 acc.name = "小明"; 72 acc.number = 123456; 73 acc.time=20190413; 74 acc.money = 100000; 75 */ 76 Scanner sc = new Scanner(System.in); 77 while(true) { 78 System.out.println("---欢迎进入银行账户操作系统---"); 79 System.out.println("---------1银行账户信息--------"); 80 System.out.println("---------2取款操作------------"); 81 System.out.println("---------3存款操作------------"); 82 System.out.println("---------4销户操作------------"); 83 System.out.println("---------5退出系统------------"); 84 System.out.println("------------------------------"); 85 int choice = sc.nextInt(); 86 switch(choice) { 87 case 1: 88 System.out.println("---银行账户信息---"); 89 acc.Display(); 90 break; 91 case 2: 92 System.out.println("---取款操作---"); 93 acc.takeMoney(); 94 break; 95 case 3: 96 System.out.println("---存款操作---"); 97 acc.saveMoney(1000); 98 break; 99 case 4: 100 System.out.println("---销户操作---"); 101 acc.finalize(); 102 break; 103 case 5: 104 System.exit(0); 105 break; 106 default: 107 System.out.println("您的选择有误!"); 108 break; 109 } 110 } 111 } 112 }
二、实验结果:
---欢迎进入银行账户操作系统---
---------1银行账户信息--------
---------2取款操作------------
---------3存款操作------------
---------4销户操作------------
---------5退出系统------------
------------------------------
1
---银行账户信息---
账户:10000
姓名:张灿
身份证号:123456
开户时间20190413
余额:100000
---欢迎进入银行账户操作系统---
---------1银行账户信息--------
---------2取款操作------------
---------3存款操作------------
---------4销户操作------------
---------5退出系统------------
------------------------------
2
---取款操作---
请输入需要取款的金额:
5000
账户余额:95000
---欢迎进入银行账户操作系统---
---------1银行账户信息--------
---------2取款操作------------
---------3存款操作------------
---------4销户操作------------
---------5退出系统------------
------------------------------
3
---存款操作---
请输入需要存款的金额:
10000
账户余额:105000
---欢迎进入银行账户操作系统---
---------1银行账户信息--------
---------2取款操作------------
---------3存款操作------------
---------4销户操作------------
---------5退出系统------------
------------------------------
4
---销户操作---
Destructor called!
---欢迎进入银行账户操作系统---
---------1银行账户信息--------
---------2取款操作------------
---------3存款操作------------
---------4销户操作------------
---------5退出系统------------
------------------------------
5
三、实验心得:
1.Java中类的封装是面向对象的核心特性,是信息隐蔽思想的具体实现技术,感觉和C++中类的封装有很多相似的地方。
2.此程序还应考虑到存的钱大于零,账户里的钱大于取的钱。
标签:封装,账户,System,实验,销户,操作,public,取款 来源: https://www.cnblogs.com/itsRes/p/10702340.html