实验1 有理数的类封装
模板代码
Rational.java
class Rational {
int numerator,denominator;
Rational(){}
Rational(int a,int b){
setNumeratorAndDenominator(a,b);
}
void setNumeratorAndDenominator(int a,int b){ //设置分子和分母int c=f(Math.abs(a),Math.abs(b)); //计算最大公约数
numerator=a/c;
denominator=b/c;
if(numerator<0&&denominator<0){
numerator=-numerator;
denominator=-denominator;
}
}
int getNumerator() {
return numerator;
}
int getDenominator() {
return denominator;
}
int f(int a,int b){ //求a和b的最大公约数
if(a
int c=a;
a=b;
b=c;
}
int r=a%b;
while(r!=0){
a=b;
b=r;
r=a%b;
}
return b;
}
Rational add(Rational r) {
int a=r.getNumerator();