java实现为Rational类改写toString()方法,该方法改写后的功能是:以分数的形式输出一个有理数
时间: 2024-10-16 16:11:15 浏览: 32
有理数_有理数类Rational_
在Java中,我们可以通过`toString()`方法将`Rational`类中的有理数转换成字符串,呈现为分数形式。通常,我们会格式化分子和分母为最简形式,并使用斜杠`/`连接两个部分。下面是如何改写`toString()`方法的例子:
```java
@Override
public String toString() {
DecimalFormat formatter = new DecimalFormat("0/#"); // 设置格式为数字/数字
if (denominator == 1) { // 如果分母为1,表示这是一个整数
return Long.toString(numerator); // 直接返回整数值
} else {
// 使用DecimalFormat保证分数格式正确
double decimalValue = (double) numerator / denominator;
return formatter.format(decimalValue); // 返回格式化的字符串
}
}
```
在这个版本的`toString()`方法中,如果分母是1(即分子是一个整数),我们就直接将其作为字符串返回。否则,我们将分数转换为小数并使用`DecimalFormat`格式化为"数字/数字"的形式。这样,当你打印`Rational`对象时,就会得到像"2/3"这样的分数字符串。
阅读全文