题目描述
编写分数类(有理数类)Fraction,包含以下成员变量:整数变量numerator和denominator, 分别表示分数的分子与分母。
包含以下成员方法(务必严格按照要求编写!!!!):
1. void setFraction(int n, int d), 在方法内部,n,d分别赋值给成员变量numerator和denominator,。
2. Fraction simplify(), 对当前对象的 进行最大化约分, 如果是负分数,则负号放分子, 并返回约分后的当前对象。
3. boolean equals(Fraction f), 判断当前对象代表的分数与 参变量f代表的分数,是否相等(分母,分子分别相等才判相等)。
4. void print(), 按以下格式输出当前对象" numerator/denominator ".
输入
分别输入两个分数的分子,分母;
输出
输出f[0],;
换行输出f[1];
换行输出true或false;
换行输出约分后的f[0];
换行输出约分后的f[1];
换行输出true或false;
样例输入
1 2 2 4
样例输出
1/2 2/4 false 1/2 1/2 true
class Fraction{
int numerator,denominator;
void setFraction(int n,int d){
numerator = n;
denominator = d;
}
Fraction simplify(){
int n = numerator;
int m = denominator;
int mod = m % n;
while(mod != 0)
{
m = n;
n = mod;
mod = m % n;
}
numerator = numerator/n;
denominator = denominator/n;
if(denominator<0){
denominator = -denominator;
numerator = -numerator;
}
return null;
}
boolean equals(Fraction f){
return (this.denominator == f.denominator && this.numerator == f.numerator);
}
void print(){
System.out.printf("%d/%d\n",numerator,denominator);
}
}