MixedFration加法Java
时间: 2023-05-24 21:04:32 浏览: 39
以下是MixedFraction加法的Java代码实现:
```java
public class MixedFraction {
private int wholeNum;
private int numerator;
private int denominator;
public MixedFraction(int wholeNum, int numerator, int denominator) {
int gcd = gcd(numerator, denominator);
this.wholeNum = wholeNum;
this.numerator = numerator / gcd;
this.denominator = denominator / gcd;
}
public MixedFraction add(MixedFraction other) {
int a = this.wholeNum * this.denominator + this.numerator;
int b = other.wholeNum * other.denominator + other.numerator;
int commonDenominator = lcm(this.denominator, other.denominator);
int sum = a * (commonDenominator / this.denominator) + b * (commonDenominator / other.denominator);
int wholeNum = sum / commonDenominator;
int numerator = sum % commonDenominator;
return new MixedFraction(wholeNum, numerator, commonDenominator);
}
private int gcd(int a, int b) {
return b == 0 ? a : gcd(b, a % b);
}
private int lcm(int a, int b) {
return a * b / gcd(a, b);
}
@Override
public String toString() {
if (numerator == 0) {
return wholeNum + "";
}
if (wholeNum == 0) {
return numerator + "/" + denominator;
}
return wholeNum + " " + Math.abs(numerator) + "/" + denominator;
}
}
```
此代码通过MixedFraction类表示混合分数,包含整数、分子和分母三个成员变量。add方法接收另一个MixedFraction对象作为输入,返回两个混合分数的和。gcd和lcm辅助方法用于计算两个数的公因数和公倍数。toString方法用于将混合分数以字符串形式输出。