用java求分数加减法
时间: 2023-06-25 16:01:51 浏览: 102
JAVA复数的加减法程序
以下是Java实现分数加减法的示例代码:
```java
public class Fraction {
private int numerator; // 分子
private int denominator; // 分母
public Fraction(int numerator, int denominator) {
this.numerator = numerator;
this.denominator = denominator;
}
// 求最大公约数
private int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
// 约分
private void reduce() {
int gcd = gcd(numerator, denominator);
numerator /= gcd;
denominator /= gcd;
}
// 加法
public Fraction add(Fraction f) {
int newNumerator = numerator * f.denominator + f.numerator * denominator;
int newDenominator = denominator * f.denominator;
Fraction result = new Fraction(newNumerator, newDenominator);
result.reduce();
return result;
}
// 减法
public Fraction subtract(Fraction f) {
int newNumerator = numerator * f.denominator - f.numerator * denominator;
int newDenominator = denominator * f.denominator;
Fraction result = new Fraction(newNumerator, newDenominator);
result.reduce();
return result;
}
@Override
public String toString() {
return numerator + "/" + denominator;
}
public static void main(String[] args) {
Fraction f1 = new Fraction(1, 2);
Fraction f2 = new Fraction(1, 3);
System.out.println(f1.add(f2)); // 5/6
System.out.println(f1.subtract(f2)); // 1/6
}
}
```
在代码中,Fraction类表示一个分数,包含两个成员变量numerator和denominator分别表示分子和分母。gcd方法用于求最大公约数,reduce方法用于约分。add和subtract方法分别表示分数的加法和减法,返回结果也是一个分数对象。最后在main方法中测试了一下分数的加减法运算。
阅读全文