利用面向对象思想,写一个名为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);
  }
}


相关文章
|
7月前
|
Java
【Java每日一题】— —第二十一题:编程把现实生活的手机事物映射成一个标准类Phone,并定义一个测试类PhoneDemo测试Phone类的功能
【Java每日一题】— —第二十一题:编程把现实生活的手机事物映射成一个标准类Phone,并定义一个测试类PhoneDemo测试Phone类的功能
|
4月前
|
Java 数据安全/隐私保护 uml
某系统提供了用户信息操作模块,用户可以修改自己的各项信息。为了使操作过程更加人性化,现使用备忘录模式对系统进行改进,使得用户在进行了错误操作之后可以恢复到操作之前的状态。用户信息中包含账号、密码、电话
该博客文章通过Java代码示例介绍了备忘录模式(Memento Pattern)的应用,通过创建备忘录对象保存用户信息的状态,允许用户在进行错误操作后能够恢复到之前的状态。
某系统提供了用户信息操作模块,用户可以修改自己的各项信息。为了使操作过程更加人性化,现使用备忘录模式对系统进行改进,使得用户在进行了错误操作之后可以恢复到操作之前的状态。用户信息中包含账号、密码、电话
|
5月前
|
存储 前端开发 Java
若依修改----数据字典,可以用于维护系统中常见的静态数据,为什么不写死,用字典维护?数据字典的好处是一个地方编写数据,在多个地方,复用他,静态选项这里填完,换其他,用户性别这里的男女,就转成而来字典
若依修改----数据字典,可以用于维护系统中常见的静态数据,为什么不写死,用字典维护?数据字典的好处是一个地方编写数据,在多个地方,复用他,静态选项这里填完,换其他,用户性别这里的男女,就转成而来字典
|
7月前
学生成绩系统用类的操作
学生成绩系统用类的操作
55 0
|
XML JSON 数据格式
17 类和对象补充例子之ATM模拟
17 类和对象补充例子之ATM模拟
73 0
|
存储 缓存 NoSQL
社会你“小峰哥“用Java实现了管理员可以修改任意用户Session的功能 上
社会你“小峰哥“用Java实现了管理员可以修改任意用户Session的功能 上
141 0
社会你“小峰哥“用Java实现了管理员可以修改任意用户Session的功能   上
|
存储 NoSQL Java
社会你“小峰哥“用Java实现了管理员可以修改任意用户Session的功能 下
社会你“小峰哥“用Java实现了管理员可以修改任意用户Session的功能 下
165 0
社会你“小峰哥“用Java实现了管理员可以修改任意用户Session的功能   下
|
Oracle 关系型数据库
设计一个Stock类和DividendStock类 - 编写了一个表示拥有股票情况的Stock类,这里给出了一个简化版,去掉了对参数的合法性的检查等细节:
设计一个Stock类和DividendStock类 - 编写了一个表示拥有股票情况的Stock类,这里给出了一个简化版,去掉了对参数的合法性的检查等细节:
175 0
设计一个Stock类和DividendStock类 - 编写了一个表示拥有股票情况的Stock类,这里给出了一个简化版,去掉了对参数的合法性的检查等细节:
|
Python
python回测与交易框架之坑爹的类与类之间变量的传输
python回测与交易框架之坑爹的类与类之间变量的传输
140 0