Java继承带分数运算
时间: 2024-11-07 14:04:02 浏览: 13
JAVA开发面试附答案
Java继承允许创建一个类(子类)从另一个类(父类)派生,这样子类可以重用父类的属性和方法。如果你想在Java中实现带分数(Fraction)的运算,并通过继承来进行,你可以创建一个名为`Fraction`的父类,包含分子(numerator)和分母(denominator)字段以及基本的分数操作如加减乘除。
例如:
```java
public class Fraction {
private int numerator;
private int denominator;
public Fraction(int numerator, int denominator) {
if (denominator != 0) {
this.numerator = numerator * gcd(numerator, denominator);
this.denominator = denominator * gcd(numerator, denominator);
} else {
throw new IllegalArgumentException("Denominator cannot be zero");
}
}
// 公共方法,计算最大公约数
private static int gcd(int a, int b) {
if (b == 0) return a;
return gcd(b, a % b);
}
// 重写加法、减法、乘法和除法
public Fraction add(Fraction other) {
int newNum = this.numerator * other.denominator + this.denominator * other.numerator;
int newDen = this.denominator * other.denominator;
return new Fraction(newNum, newDen);
}
// ...其他类似的方法
// 为了显示带分数,可以重写toString()方法
@Override
public String toString() {
if (this.denominator == 1) {
return Integer.toString(this.numerator);
} else {
int wholePart = this.numerator / this.denominator;
int remainder = this.numerator % this.denominator;
return wholePart + " " + (remainder > 0 ? "(" : "") + remainder + "/" + this.denominator + ")";
}
}
}
```
然后你可以创建子类或者直接实例化`Fraction`来完成分数的计算和表示。注意,这个例子假设了分数的除法会返回一个新的分数,而不是小数。
阅读全文