有理数类的设计
仿照BigDecimal类以面向对象的方式设计有理数类
1、有理数类源代码:
public class Rational {
//属性
private long numerator = 0; //分子
private long denominator = 1; //分母
public long getNumerator() {
return numerator;
}
public void setNumerator(long numerator) {
this.numerator = numerator;
}
public long getDenominator() {
return denominator;
}
public void setDenominator(long denominator) {
this.denominator = denominator;
}
//构造函数(无参)
public Rational(){//分子分母初始化
this.numerator = 0;
this.denominator = 1;
}
//构造函数(有参)
public Rational(long numerator, long denominator){
this.numerator = numerator/gcd(Math.abs(numerator), Math.abs(denominator)); //分子化简(除以分子、分母的最大公约数)