博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实验六:类的封装
阅读量:6089 次
发布时间:2019-06-20

本文共 4745 字,大约阅读时间需要 15 分钟。

一、实验代码如下:

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.此程序还应考虑到存的钱大于零,账户里的钱大于取的钱。 

转载于:https://www.cnblogs.com/itsRes/p/10702340.html

你可能感兴趣的文章
paramiko安装及使用
查看>>
Ubuntu下编译安装QEMU
查看>>
Windows Sysinternals 发布 Disk2vhd v1.0
查看>>
Spring Boot文档阅读
查看>>
Asp.net的服务器推技术 (Server Push)(采用持久链接+死循环)
查看>>
android 属性动画
查看>>
WCF服务模型
查看>>
与Java Web Service相关的若干概念
查看>>
Linux - 修复Ubuntu错误“System program problem detected”
查看>>
从Ibatis过渡到Mybatis-比较Mybaits较与Ibatis有哪些方面的改进
查看>>
Android 中文API (66) —— BluetoothClass.Device
查看>>
三款主流型 Windows Client 功能对比
查看>>
利用本地漏洞的攻击
查看>>
Windows下资源泄漏检测
查看>>
Linux统领全局的服务应用(LDAP)
查看>>
在实践中深入理解VMware虚拟机的上网模式:桥接模式
查看>>
运维经验分享(二)-- Linux Shell之ChatterServer服务控制脚本二次优化
查看>>
mount failed, reason given by server: Permission denied错误处理
查看>>
SCVMM 2012 安装及绿色新功能介绍
查看>>
在oracle中常用到的一些命令
查看>>