⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 money.java~3~

📁 数据库应用程序.它比较全面的含盖了JAVA应用程序与数据库之间通讯的全过程.本程序在JBUILDER2005上开发运行.
💻 JAVA~3~
字号:
package chapter25.money;

/**
 * A simple Money.
 *
 */
public class Money
    implements IMoney {

  private int fAmount;
  private String fCurrency;

  /**
   * Constructs a money from the given amount and currency.
   */
  public Money(int amount, String currency) {
    fAmount = amount;
    fCurrency = currency;
  }

  /**
   * Adds a money to this money. Forwards the request to the addMoney helper.
   */
  public IMoney add(IMoney m) {
    return m.addMoney(this);
  }

  public IMoney addMoney(Money m) {
    if (m.currency().equals(currency())) {
      return new Money(amount() + m.amount(), currency());
    }
    return MoneyBag.create(this, m);
  }

  public IMoney addMoneyBag(MoneyBag s) {
    return s.addMoney(this);
  }

  public int amount() {
    return fAmount;
  }

  public String currency() {
    return fCurrency;
  }

  public boolean equals(Object anObject) {
    if (isZero()) {
      if (anObject instanceof IMoney) {
        return ( (IMoney) anObject).isZero();
      }
    }
    if (anObject instanceof Money) {
      Money aMoney = (Money) anObject;
      return aMoney.currency().equals(currency())
          && amount() == aMoney.amount();
    }
    return false;
  }

  public int hashCode() {
    return fCurrency.hashCode() + fAmount;
  }

  public boolean isZero() {
    return amount() == 0;
  }

  public IMoney multiply(int factor) {
    return new Money(amount() * factor, currency());
  }

  public IMoney negate() {
    return new Money( -amount(), currency());
  }

  public IMoney subtract(IMoney m) {
    return add(m.negate());
  }

  public String toString() {
    StringBuffer buffer = new StringBuffer();
    buffer.append("[" + amount() + " " + currency() + "]");
    return buffer.toString();
  }

  public
  /*this makes no sense*/ void appendTo(MoneyBag m) {
    m.appendMoney(this);
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -