Java | 分数计算类

编程定义名为Fraction的类,其中包含:
2个数据成员:代表分数的分子和分母的int型变量a、b
4个方法:
① 构造方法:Fraction(int x, int y)
② 分数加法:Fraction plus(Fraction r)
③ 分数乘法:Fraction mul(Fraction r)
④ 输出最简分数:void print()
⑤ main()方法:从键盘输入两个分数的分子和分母,分别输出两个分数值及它们的和、乘积值。程序运行界面参见如下格式:

img

class Fraction {
    int a,b;
    Fraction(int a,int b){//构造函数
        this.a=a;
        this.b=b;
    }
    void print() {//打印分数
        int x = a,y = b,r;
        if(a == b) {
            System.out.println(1);
            return;
        }
        while(y!=0) {
            r = x%y;
            x=y;
            y=r;
        }
        a/=x;
        b/=x;
        System.out.println(a + "/" + b);
    }
    double toDouble() {//分数转化为double类型
        return a/b;
    }
    Fraction plus(Fraction r) {//分数加法
        Fraction result = new Fraction(0,0);
        result.b=this.b*r.b;
        result.a=this.a*r.b+r.a*this.b;
        return result;
    }
    Fraction multiply(Fraction r) {//分数乘法
        Fraction result=new Fraction(0,0);
        result.a=this.a*r.a;
        result.b=this.b*r.b;
        return result;
    }

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).plus(new Fraction(5,6)).print();
        a.print();
        b.print();
        in.close();
    }
}