java实现分数化简
时间: 2024-10-09 15:01:21 浏览: 33
JAVA分数类的实现
在Java中,实现分数的化简通常涉及到两个步骤:找到分数的最大公约数(Greatest Common Divisor, GCD),然后用该最大公约数分别除分子和分母。下面是一个简单的例子:
```java
public class Fraction {
private int numerator; // 分子
private int denominator; // 分母
public Fraction(int numerator, int denominator) {
this.numerator = numerator;
this.denominator = denominator;
// 如果分母为0,抛出异常,因为这是无效的分数
if (denominator == 0) {
throw new IllegalArgumentException("Denominator cannot be zero");
}
simplify();
}
private void simplify() {
int gcd = gcd(numerator, denominator);
numerator /= gcd;
denominator /= gcd;
}
// 使用欧几里得算法计算GCD
private static int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
@Override
public String toString() {
return String.format("%d/%d", numerator, denominator);
}
public static void main(String[] args) {
Fraction fraction = new Fraction(18, 48);
System.out.println(fraction); // 输出结果可能是 "3/8",表示化简后的形式
}
}
```
在这个例子中,`Fraction` 类有一个 `simplify()` 方法,它先计算分子和分母的最大公约数,然后将两者都除以这个公约数,实现了分数的简化。
阅读全文