该题目实现了分数的表示,分数的加法和乘法。该题目的输入不需要考虑输入分母为“0”。注意,例如当输入是分子是4,分母是8的时候,分数应该是1/2,而不是4/8.
方法定义:
请仔细阅读测试样例中的调用
裁判测试程序样例:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Fraction a = new Fraction(in.nextInt(), in.nextInt());
Fraction b = new Fraction(in.nextInt(),in.nextInt());
a.print();
b.print();
a.plus(b).print();
a.multiply(b).print();
in.close();
}
}
/* 请在这里填写答案 */
输入样例:
在这里给出一组输入。例如:
1 2 3 4
输出样例:
在这里给出相应的输出。例如:
1/2 3/4 5/4 3/8
答案:
class Fraction
{
int a, b;
Fraction(int x, int y)
{
this.a = x;
this.b = y;
}
Fraction plus(Fraction x)
{
Fraction r = new Fraction(0,0);
r.a =this.a * x.b + this.b * x.a;//fenzi
r.b =this.b * x.b;//fenmu
return r;
}
Fraction multiply(Fraction x)
{
this.a = this.a * x.a;
this.b = this.b * x.b;
return this;
}
void print()
{
int h ;
if(this.a > this.b )
{
h = GCD(this.a, this.b) ;
}
else
{
h = GCD(this.b, this.a);
}
this.a /= h;
this.b /= h;
System.out.print(this.a+"/"+this.b+' ');
}
public int GCD(int x,int y)
{
if(x %y == 0) return y;
return GCD(y, x % y);
}
}