作业要求:

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)---王狗蛋先生去取钱,发现余额不足 !?!?的更多相关文章

  1. 要想学好Java编程,构造器、方法重载、this关键字、垃圾回收机制,这4关一定要过!

    有人说,你应该关注时事.财经,甚至流行的电影.电视剧,才有可能趁着热点写出爆文:有人说,你别再写“无聊”的技术文了,因为程序员的圈子真的很小,即便是像鸿洋那样的招牌大牛,文章是那么的干货,浏览量有多少 ...

  2. [Java编程思想-学习笔记]第3章 操作符

    3.1  更简单的打印语句 学习编程语言的通许遇到的第一个程序无非打印"Hello, world"了,然而在Java中要写成 System.out.println("He ...

  3. 《java编程思想》读书笔记(一)开篇&第五章(1)

    2017 ---新篇章  今天终于找到阅读<java编程思想>这本书方法了,表示打开了一个新世界. 第一章:对象导论 内容不多但也有20页,主要是对整本书的一个概括.因为已经有过完整JAV ...

  4. Google Java编程风格指南

    出处:http://hawstein.com/posts/google-java-style.html 声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Comm ...

  5. 谷歌Java编程规范

    Google Java编程风格指南 January 20, 2014 作者:Hawstein 出处:http://hawstein.com/posts/google-java-style.html 声 ...

  6. Java编程思想——初始化与清理

    PS:最近一直忙于项目开发..所以一直没有写博客..趁着空闲期间来一发.. 学习内容: 1.初始化 2.清理 1.初始化   虽然自己的Java基础还是比较良好的..但是在解读编程思想的时候还是发现了 ...

  7. java编程思想-复用类总结

    今天继续读<java 编程思想>,读到了复用类一章,看到总结写的很好,现贴上来,给大家分享. 继承和组合都能从现有类型生成新类型.组合一般是将现有类型作为新类型底层实现的一部分来加以复用, ...

  8. Google Java编程风格指南中文版

    作者:Hawstein出处:http://hawstein.com/posts/google-java-style.html声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Cre ...

  9. 注解的基本盘点 -- 《Java编程思想》

    注解(元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在之后的某一个时刻非常方便地使用这些数据. ---<Java编程思想> 其实注解可以理解为一个工具类,只要使用了这个工 ...

随机推荐

  1. YbtOJ#493-最大分数【斜率优化dp,分治】

    正题 题目链接:http://www.ybtoj.com.cn/contest/117/problem/1 题目大意 \(n\)个数的一个序列,给其中的一些数打上标记. 一个标记方案的贡献为\(s_1 ...

  2. CF1137F-Matches Are Not a Child‘s Play【LCT】

    正题 题目链接:https://www.luogu.com.cn/problem/CF1137F 题目大意 给出\(n\)个点的一棵树,第\(i\)个点权值为\(i\). 一棵树的删除序列定义为每次删 ...

  3. Python中open和with open有什么区别?怎么用?

    open 打开文件 file=open("文件名","读写模式") 操作文件 代码段 关闭文件 file.close() 注意事项:使用open方法,文件操作完 ...

  4. DL4J实战之二:鸢尾花分类

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  5. 暑期 2021 | Serverless Devs 最全项目申请攻略来啦!

    Serverless 是近年来云计算领域热门话题,凭借极致弹性.按量付费.降本提效等众多优势受到很多人的追捧,各云厂商也在不断地布局 Serverless 领域.但是随着时间的发展,Serverles ...

  6. 从零入门 Serverless | SAE 的极致应用部署效率

    作者 | 文俊 阿里巴巴云原生团队 本文整理自<Serverless 技术公开课>,"Serverless"公众号后台回复"入门",即可获取系列文章 ...

  7. netty系列之:使用netty实现支持http2的服务器

    目录 简介 基本流程 CleartextHttp2ServerUpgradeHandler Http2ConnectionHandler 总结 简介 上一篇文章中,我们提到了如何在netty中配置TL ...

  8. Noip模拟84 2021.10.27

    以后估计都是用\(markdown\)来写了,可能风格会有变化 T1 宝藏 这两天老是会的题打不对,还是要细心... 考场上打的是维护\(set\)的做法,但是是最后才想出来的,没有维护对于是没有交. ...

  9. 2021.10.7考试总结[NOIP模拟71]

    信心赛,但炸了.T3SB错直接炸飞,T4可以硬算的组合数非要分段打表求阶乘..T2也因为一个细节浪费了大量时间.. 会做难题很好,但首先还是要先把能拿的分都拿到. T1 签到题 结论:总可以做到对每个 ...

  10. Python之@property详解及底层实现介绍

    转自:https://blog.csdn.net/weixin_42681866/article/details/83376484 前文 Python内置有三大装饰器:@staticmethod(静态 ...