它包括:

  • 为账号定义一个名为id的int类型私有数据域(默认值为0)标识账号
  • 为账号定义一个名为balance的double类型私有数据域(默认值为0)表示余额
  • 一个名为annualInterestRate的double类型私有数据域储存当前利润(默认值为0)。假设所有的账户都有相同的利率
  • 一个名为dateCreated的Date类型的私有数据域,储存账户的开户日期
  • 一个用于创建默认账户的无参构造方法
  • 一个用于创建具有指定id和初始余额的账户的构造方法
  • id、balance和annualInterstRate的访问器方法和修改器方法
  • dateCreated的访问器方法
  • 一个名为getMonthlyInterestRate()的方法,返回月利率
  • 一个名为getMonthlyInterest()的方法,返回月利息
  • 一个名为withDraw的方法,从账户提取指定额度
  • 一个名为deposit的方法向账户储存指定额度

画出该类的UML图并实现这个类

Account
-id:int=0
-balance:double=0
-annualInterestRate:double=0
-dateCreated:Date
+Account()
+Account(id:int,balance:double)
+getId():int
+setId(id:int):void
+getBalance():double
+setBalance(balance:double):void
+getannualInterstRate():double
+getdateCreated():date
+getMonthlyInterestRate():double
+getMonthlyInterest():double
+withDraw():void
+deposit():void
import java.util.Date;public class Account {private int id = 0;private double balance = 0;private double annualInterestRate = 0;private Date dateCreated;public Account() {dateCreated = new Date();}public Account(int id, double balance) {this.id = id;this.balance = balance;dateCreated = new Date();}public int getId() {return id;}public void setId(int id) {this.id = id;}public double getBalance() {return balance;}public void setBalance(double balance) {this.balance = balance;}public double getAnnualInterestRate() {return annualInterestRate;}public void setAnnualInterestRate(double annualInterestRate) {this.annualInterestRate = annualInterestRate;}public Date getDateCreated() {return dateCreated;}public double getMonthlyInterestRate() {double monthlyInterestRate = annualInterestRate / 12;return balance * monthlyInterestRate / 100;}public void withDraw(double money) {balance -= money;}public void deposit(double money) {balance += money;}//下面为测试程序public static void main(String[] args) {Account account = new Account(1122, 20000);account.setAnnualInterestRate(4.5);account.withDraw(2500);account.deposit(3000);System.out.println("余额: "+account.getBalance()+"\n"+"月利率: "+account.getMonthlyInterestRate()+"\n"+"创建日期: "+account.getDateCreated());}}

运行结果:

设计一个名为Account的类相关推荐

  1. Java黑皮书课后题第9章:9.7(Account类)设计一个名为Account的类,它包含……。编写一个测试程序,创建一个账户ID为1122、余额为20000美元、年利率为4.5%的Account…

    9.7(Account类)设计一个名为Account的类 题目 破题 代码 Test7 Test7_Account 执行结果 UML图 题目 破题 Test7:测试程序 Test7_Account:实 ...

  2. Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类)设计一个名为Person的类及其两个名为Student和Employee的子类

    Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类) 题目 缺陷 UML图 代码 Test02_MyDate.java:用于参考的My ...

  3. Java黑皮书课后题第10章:*10.10(Queue类)10.6节给出一个Stock类。设计一个名为Queue的类用于存储整数。像栈一样,队列保存元素。在栈中,元素后进先出。队列中元素先进先出

    10.10(Queue类)10.6节给出一个Stock类,设计一个名为Queue的类用于存储整数 题目 程序 破题 代码 Test10.java Test10_Queue.java UML 题目 程序 ...

  4. Java黑皮书课后题第10章:10.4(MyPoint类)设计一个名为MyPoint的类,代表一个以x坐标和y坐标表示的点

    10.4(MyPoint类)设计一个名为MyPoint的类,代表一个以x坐标和y坐标表示的点 题目 程序 代码 Test4.java Test4_MyPoint.java 运行实例 UML 题目 程序 ...

  5. Java黑皮书课后题第10章:10.3(MyInteger类)设计一个名为MyInteger的类

    10.3(MyInteger类)设计一个名为MyInteger的类 题目 程序说明 代码 Test3.java Test3_MyInteger.java 运行实例 UML 题目 程序说明 测试程序:T ...

  6. Java黑皮书课后题第10章:*10.1(Time类)设计一个名为Time的类。编写一个测试程序,创建两个Time对象(使用new Time()和new Time(555550000))

    Java黑皮书课后题第10章:*10.1设计一个名为Time的类.编写一个测试程序,创建两个Time对象 题目 程序 代码 Test1.java Test1_Time.java 运行结果 UML 题目 ...

  7. Java黑皮书课后题第9章:**9.13(Location类)设计一个名为Location的类,定位二维数组中的最大值及其位置。

    Java黑皮书课后题第9章:**9.13(Location类)设计一个名为Location的类,定位二维数组中的最大值及其位置 题目 破题 代码 Test13 Test13_Location 运行结果 ...

  8. Java黑皮书课后题第9章:*9.11(代数:2*2的线性方程)为一个2*2的线性方程设计一个名为LinearEquation的类

    Java黑皮书课后题第9章:*9.11(代数:2*2的线性方程)为一个2*2的线性方程设计一个名为LinearEquation的类 题目 破题 代码 Test10 Test11_LinearEquat ...

  9. Java黑皮书课后题第9章:*9.10(代数:二次方程式)为二次方程式设计一个名为QuadraticEquation的类

    Java黑皮书课后题第9章:*9.10(代数:二次方程式)为二次方程式设计一个名为QuadraticEquation的类 题目 破题 代码 Test10 Test10_QuadraticEquatio ...

  10. Java黑皮书课后题第9章:9.8(Fan类)设计一个名为Fan的类来代表风扇

    9.8(Fan类)设计一个名为Fan的类来代表风扇 题目 破题 代码 Test8 Test8_Fan 执行结果 UML 题目 破题 Test8:测试程序 Test8_Fan:实现题目要求 代码 Tes ...

最新文章

  1. Py之pyecharts:python包之数据可视化包pyecharts简介、安装、使用方法之详细攻略
  2. linux——Shell脚本说明、创建、执行、调试
  3. HD_2092整数解
  4. SAP Cloud for Customer里的HTML Mashup的JavaScript编程功能
  5. SWT中Button事件的几种不同写法
  6. 《Office 365 开发入门指南》
  7. stage3d 骨骼优化
  8. Java核心API -- 9(异常)
  9. Sql Decimal类型 运算结果的精度和小数位数
  10. 跨境电商亚马逊平台运营模式有哪些?
  11. Windows桌面美化(壁纸网站,任务栏透明、颜色设置)
  12. UI设计中搜索页设计指南
  13. 前端常说的优化之图片优化
  14. 嵌入式设计---(1)嵌入式系统基础
  15. package import
  16. redis安装Windows
  17. web开发与应用(一)
  18. java创建对象过程 实例化和初始化
  19. iPhone销售不佳,苹果进退失据
  20. CHM文件的文件格式

热门文章

  1. linux中运行yarn命令,Hadoop学习常用的Linux命令
  2. 目标检测画框显示中文标签
  3. 想用数据分析结论,与竞争对手PK?这篇实用战术拿走不谢
  4. 自制工具分享!ArcGIS批量合并GDB、MDB
  5. postfix电子邮件传输
  6. C. Bouncing Ball(从后往前的前缀和)
  7. 共享店铺系统如何帮助门店提升业绩?
  8. 新东方单季营收同比降48% 一年关778间学校及学习中心
  9. 教她写代码的那些日子 8 类和对象
  10. 【舆情分析(2)】词性标注及词频分析