用Java写一个定义钱类,包括元角分信息,提供构造方法、钱加减方法、钱翻倍方法、钱比较大小的方法、格式化显示钱的方法
时间: 2024-10-07 15:02:51 浏览: 45
在Java中,你可以创建一个名为`Money`的类,用于表示金额,包含元、角和分三个属性。这里是一个简单的实现:
```java
public class Money {
private int yuan;
private int jiao;
private int fen;
// 构造方法
public Money(int yuan, int jiao, int fen) {
this.yuan = yuan;
this.jiao = jiao;
this.fen = fen; // 分数转换成角
if (fen >= 10) {
this.jiao++;
this.fen %= 10;
}
}
// 钱加减方法
public void add(Money other) {
this.yuan += other.yuan;
this.jiao += other.jiao;
this.fen += other.fen;
normalize();
}
public void subtract(Money other) {
this.yuan -= other.yuan;
this.jiao -= other.jiao;
this.fen -= other.fen;
if (this.fen < 0) {
this.jiao--;
this.fen += 10;
}
normalize();
}
// 钱翻倍方法
public void doubleValue() {
this.yuan *= 2;
this.jiao *= 2;
this.fen *= 2;
}
// 比较大小
@Override
public boolean equals(Object obj) {
if (obj instanceof Money) {
Money that = (Money) obj;
return this.yuan == that.yuan && this.jiao == that.jiao && this.fen == that.fen;
}
return false;
}
// 格式化显示方法
@Override
public String toString() {
return String.format("¥%d.%02d 元", yuan, jiao);
}
// 私有方法调整分位数保持两位
private void normalize() {
while (fen >= 10) {
this.jiao++;
this.fen %= 10;
}
}
// 提供其他必要的getter和setter方法
// ...
}
```
阅读全文