【JAVA】编程(3)---王狗蛋先生去取钱,发现余额不足 !?!?
作业要求:
1.写一个名为Account的类模拟账户。该类的属性和方法如下所示:
该类包括的属性: ID,余额balance,年利率;
包含的方法:各属性的set和get方法。取款方法withdraw ( ) ,存款方法deposit ( );
2.写一个测试程序:
创建一个Customer,名字叫王狗蛋, 他有一个账号为1314,余额为2000,年利率为1.23的账户,对王狗蛋的账户1314进行操作:
存入100元,再取出960元,再取出2000;
信息如下显示:
成功存入: 100
成功取出: 960
余额不足,取钱失败
public class 银行虚拟账户管理 {
public static void main(String[] args) {
Account a= new Account("1314", 2000, 1.23);
//把账户a给了c(王狗蛋)
Customer c=new Customer("王狗蛋",a);
/*c.act...再进行对账户的操作是错误的因为act是私有的,只能通过公共方法对其进行操作,可以用a.对账户进行操作,但是这样就失去了面向对象
的思想,现在账户a是c的,c是取钱存钱的那个人,所以只有c.可以对他的账户a进行操作,而用c.act.是错误的,因为act相对于用户是私有属性,
所以只能通过人为设置的入口对其操作:c.getAct().deposit(); 等价于 act.deposit(); 虽然等价但是前者才是正确书写*/
c.getAct().deposit(100);
c.getAct().withdraw(960);
c.getAct().withdraw(2000);
}
}
class Customer{
protected String name;
protected Account act;
public Customer(){
}
public Customer(String name,Account act){
this.name=name;
this.act=act;
}
public void setName(String name){
this.name=name;
}
public void setAct(Account act){
this.act=act;
}
public String getName(){
return name;
}
public Account getAct(){
return act;
}
}
class Account{
protected String id;
protected double balance;
protected double nianLiLv;
public Account(){
this(null,0,0);
}
public Account(String id,double balance,double nianLiLv){
this.id=id;
this.balance=balance;
this.nianLiLv=nianLiLv;
}
public void setId(String id){
this.id=id;
}
public void setBalance(double balance){
this.balance=balance;
}
public void setNianLiLv(double nianLiLv){
this.nianLiLv=nianLiLv;
}
public String getId(){
return id;
}
public double getBalance(){
return balance;
}
public double getNianLiLv(){
return nianLiLv;
}
public void withdraw(int i1){
if(i1>balance){
System.out.println("余额不足,取款失败");
}
else {
System.out.println("成功取出:" + i1);
//balance -= i1;---第一种写法
//this.setBalance(balance-i1);---第二种写法
this.setBalance(this.getBalance()-i1);//---第三种写法
}
}
public void deposit(int i1){
System.out.println("成功存入:"+i1);
balance+=i1;
}
}
输出结果:
成功存入:100
成功取出:960
余额不足,取款失败
Process finished with exit code 0
博主能力有限,若程序有bug或有其他不当之处,请狠狠打脸博主 (~ ̄(OO) ̄)ブ
【JAVA】编程(3)---王狗蛋先生去取钱,发现余额不足 !?!?的更多相关文章
- 要想学好Java编程,构造器、方法重载、this关键字、垃圾回收机制,这4关一定要过!
有人说,你应该关注时事.财经,甚至流行的电影.电视剧,才有可能趁着热点写出爆文:有人说,你别再写“无聊”的技术文了,因为程序员的圈子真的很小,即便是像鸿洋那样的招牌大牛,文章是那么的干货,浏览量有多少 ...
- [Java编程思想-学习笔记]第3章 操作符
3.1 更简单的打印语句 学习编程语言的通许遇到的第一个程序无非打印"Hello, world"了,然而在Java中要写成 System.out.println("He ...
- 《java编程思想》读书笔记(一)开篇&第五章(1)
2017 ---新篇章 今天终于找到阅读<java编程思想>这本书方法了,表示打开了一个新世界. 第一章:对象导论 内容不多但也有20页,主要是对整本书的一个概括.因为已经有过完整JAV ...
- Google Java编程风格指南
出处:http://hawstein.com/posts/google-java-style.html 声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Comm ...
- 谷歌Java编程规范
Google Java编程风格指南 January 20, 2014 作者:Hawstein 出处:http://hawstein.com/posts/google-java-style.html 声 ...
- Java编程思想——初始化与清理
PS:最近一直忙于项目开发..所以一直没有写博客..趁着空闲期间来一发.. 学习内容: 1.初始化 2.清理 1.初始化 虽然自己的Java基础还是比较良好的..但是在解读编程思想的时候还是发现了 ...
- java编程思想-复用类总结
今天继续读<java 编程思想>,读到了复用类一章,看到总结写的很好,现贴上来,给大家分享. 继承和组合都能从现有类型生成新类型.组合一般是将现有类型作为新类型底层实现的一部分来加以复用, ...
- Google Java编程风格指南中文版
作者:Hawstein出处:http://hawstein.com/posts/google-java-style.html声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Cre ...
- 注解的基本盘点 -- 《Java编程思想》
注解(元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在之后的某一个时刻非常方便地使用这些数据. ---<Java编程思想> 其实注解可以理解为一个工具类,只要使用了这个工 ...
随机推荐
- P3649-[APIO2014]回文串【PAM】
正题 题目链接:https://www.luogu.com.cn/problem/P3649 题目大意 一个字符串,求最大的回文串长度×出现次数 解题思路 构建出\(\text{PAM}\)然后统计一 ...
- 深入浅出WPF-04.x名称空间详解
x名称空间详解 几个需要特别说明的名称空间: x:Class 用来标记XAML和后台代码之间的合并关系.x:Class根节点的类型必须和x:Class值指向的类型保持一致.x:Class的值指向的类型 ...
- AngularJS的简单实用
Angular Js 的初步认识和使用 一: 1.模块化 定义模块和控制器 ng-app="myapp" controller=&qu ...
- springweb项目自定义拦截器修改请求报文头
面向切面,法力无边,任何脏活累活,都可以从干干净净整齐划一的业务代码中抽出来,无非就是加一层,项目里两个步骤间可以被分层的设计渗透成筛子. 举个例子: 最近我们对接某银行接口,我们的web服务都是标准 ...
- 100台机器上海量IP如何查找出现频率 Top 100?
场景题 有 100 机器,每个机器的磁盘特别大,磁盘大小为 1T,但是内存大小只有 4G,现在每台机器上都产生了很多 ip 日志文件,每个文件假设有50G,那么如果计算出这 100 太机器上访问量最多 ...
- Java 开发最容易写的 10 个bug
原文链接:10 个让人头疼的 bug 那个谁,今天又写 bug 了,没错,他说的好像就是我...... 作为 Java 开发,我们在写代码的过程中难免会产生各种奇思妙想的 bug ,有些 bug 就挺 ...
- CefSharp请求资源拦截及自定义处理
CefSharp请求资源拦截及自定义处理 前言 在CefSharp中,我们不仅可以使用Chromium浏览器内核,还可以通过Cef暴露出来的各种Handler来实现我们自己的资源请求处理. 什么是资源 ...
- Spatial Statistics Tools(空间统计工具)
空间统计工具 1.分析模式 # Process: 增量空间自相关 arcpy.IncrementalSpatialAutocorrelation_stats("", "& ...
- 题解 「BZOJ2137」submultiple
题目传送门 题目大意 给出 \(M,k\) ,求出 \[\sum_{x|M}\sigma(x)^k \] 给出 \(P_i\),满足 \(n=\prod_{i=1}^{n}a_i^{P_i}\),其中 ...
- 改善深层神经网络-week1编程题(Initializaion)
Initialization 如何选择初始化方式,不同的初始化会导致不同的结果 好的初始化方式: 加速梯度下降的收敛(Speed up the convergence of gradient desc ...