设计一个表示分数的类Fraction。这个类用两个int类型的变量分别表示分子和分母。 这个类的构造方法是:Fraction(int a, int b)构造一个a/b的分数,需要对分数约分,如 6/

设计一个表示分数的类Fraction。这个类用两个int类型的变量分别表示分子和分母。
这个类的构造方法是:Fraction(int a, int b)构造一个a/b的分数,需要对分数约分,如 6/8需转换为 3/4。
这个类要提供以下的功能:
1、将分数转换为double double toDouble();
2、将自己的分数和另一个分数相加,产生一个新的Fraction的对象 public Fraction add(Fraction other)
3、将自己的分数和另一个分数相乘,产生一个新的Fraction的对象 public Fraction multiply(Fraction other)
4、重写toString 方法,将分数自己以“分子/分母”的形式返回。如果分数是1/1,4/2应该输出1,2。当分子大于分母时,不需要提出整数部分,即31/30是一个正确的返回。

【输入形式】
分别输入两个分数的分子和分母,中间以空格分隔。

【输出形式】
测试程序自己输出。

【样例输入输出①】
first number,fenzi fenmu
3 6
second number,fenzi fenmu
5 15
first Fraction:1/2
first output as double:0.50
second Fraction:1/3
second output as double:0.33
result of two Fraction add:5/6
result of two Fraction multiply:1/6
【对应运行截图①】
【样例输入输出②】
![在这里插入图片描述](https://img-blog.csdnimg.cn/8596764e3a7d4daca657d96e74dfce05.png
first number,fenzi fenmu
2 3
second number,fenzi fenmu
5 6
first Fraction:2/3
first output as double:0.67
second Fraction:5/6
second output as double:0.83
result of two Fraction add:3/2
result of two Fraction multiply:5/9
【对应运行截图②】

import  java.util.Scanner;

class  Fraction  {
   
    
    
    int fz;
    int fm;
    Fraction(int fz,int fm){
   
    
    

        int gys=find(fz,fm);
        this.fz=(fz/gys);
        this.fm=(fm/gys);
    }
    private int find(int a,int b)
    {
   
    
    
        if(a==

猜你喜欢

转载自blog.csdn.net/X131644/article/details/124973988
今日推荐