利用面向对象思想,写一个名为Account的类模拟账户,模拟存取钱系统。

简介: 编写Java程序:利用面向对象思想,写一个名为Account的类模拟账户,模拟存取钱系统。

编写Java程序


该类的属性和方法如下所示。


该类包括的属性:账户id,余额balance,年利率annualInterestRate;

包含的方法:各属性的set和get方法。取款方法withdraw(),存款方法deposit()


写一个测试程序

(1)创建一个Customer,名字叫Jane Smith,他有一个账号为1000,余额为2000,年利率为1.23%的账户

(2)对Jane Smith操作:

存入100元,再取出960元,再取出2000。

打印Jane Smith的基本信息

信息如下显示:

成功存入:100

成功取出:960

余额不足,取钱失败

Customer [Smith,Jane] has a account :id is 1000 annualInterestRate is 1.23% balance is 1140.0


//账户类
class Account{
  private String id;
  private double balance;
  private double annualInterestRate;
  //无参构造
  public Account(){
  }
  //有参构造
  public Account(String id,double balance,double annualInterestRate){
    this.id=id;
    this.balance=balance;
    this.annualInterestRate=annualInterestRate;
  }
  public void setId(String id){
    this.id=id;
  }
  public String getId(){
    return id;
  }
  public void setBalance(double balance){
    this.balance=balance;
  }
  public double getBalance(){
    return balance;
  }
  public void setAnnualInterestRat(double annualInterestRate){
    this.annualInterestRate=annualInterestRate;
  }
  public double getAnnualInterestRate(){
    return annualInterestRate;
  }
  //取款
  public void withdraw(double money){
    if(money > getBalance()){
      System.out.println("余额不足,取钱失败");
      return;
    }
    this.setBalance(this.getBalance() - money);
    System.out.println("成功存入:"+money);
  }
  //存款
  public void deposit(double money){
    this.setBalance(this.getBalance()+ money);
    System.out.println("成功存入:"+money);
  }
}
//客户
class Customer{
  //名字
  private String name;
  //客户有一个账户才能存取钱
  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 String getName(){
    return name;
  }
  public void setAct(Account act){
    this.act=act;
  }
  public Account getAct(){
    return act;
  }
}
public class Text{
  public static void main(String[] args){
  Account a=new Account("1000",2000,1.23);
  Customer c1=new Customer("Jane Smith",a);
  c1.getAct().deposit(100);  //人有一个账户存取钱
  c1.getAct().withdraw(960);
  c1.getAct().withdraw(2000);
  }
}


相关文章
|
4天前
|
Java
【Java每日一题】— —第二十一题:编程把现实生活的手机事物映射成一个标准类Phone,并定义一个测试类PhoneDemo测试Phone类的功能
【Java每日一题】— —第二十一题:编程把现实生活的手机事物映射成一个标准类Phone,并定义一个测试类PhoneDemo测试Phone类的功能
43 0
|
4天前
|
存储
通俗解释:Session生成、存储与管理
通俗解释:Session生成、存储与管理
31 0
17 类和对象补充例子之ATM模拟
17 类和对象补充例子之ATM模拟
51 0
|
存储 缓存 NoSQL
社会你“小峰哥“用Java实现了管理员可以修改任意用户Session的功能 上
社会你“小峰哥“用Java实现了管理员可以修改任意用户Session的功能 上
109 0
社会你“小峰哥“用Java实现了管理员可以修改任意用户Session的功能   上
|
存储 NoSQL Java
社会你“小峰哥“用Java实现了管理员可以修改任意用户Session的功能 下
社会你“小峰哥“用Java实现了管理员可以修改任意用户Session的功能 下
133 0
社会你“小峰哥“用Java实现了管理员可以修改任意用户Session的功能   下
|
Python
python回测与交易框架之坑爹的类与类之间变量的传输
python回测与交易框架之坑爹的类与类之间变量的传输
74 0
SAP QM初阶之维护检验计划时可以不用事先创建好检验特性主数据
SAP QM初阶之维护检验计划时可以不用事先创建好检验特性主数据
SAP QM初阶之维护检验计划时可以不用事先创建好检验特性主数据
如何远程比较两个系统里同一个ABAP类方法代码的差异
如何远程比较两个系统里同一个ABAP类方法代码的差异
215 0
如何远程比较两个系统里同一个ABAP类方法代码的差异
|
JSON 前端开发 API
剥开比原看代码11:比原是如何通过接口/create-account创建帐户的
作者:freewind 比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 在前面,我们探讨了从浏览器的dashboard中进行注册的时候,数据是如何从前端发到后端的,并且后端是如何创建密钥的。
1278 0