设计一个表示分数的类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、将自己的分数和另一个分数相乘,产生一个新的F
摘要由CSDN通过智能技术生成

设计一个表示分数的类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==
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮你设计一个表示分数Fraction,以下是代码实现: ```java public class Fraction { private int numerator; // 分子 private int denominator; // 分母 public Fraction(int numerator, int denominator) { this.numerator = numerator; this.denominator = denominator; } // 获取分子 public int getNumerator() { return numerator; } // 获取分母 public int getDenominator() { return denominator; } // 设置分子 public void setNumerator(int numerator) { this.numerator = numerator; } // 设置分母 public void setDenominator(int denominator) { this.denominator = denominator; } // 分数相加 public Fraction add(Fraction other) { int num = numerator * other.denominator + other.numerator * denominator; int den = denominator * other.denominator; return new Fraction(num, den); } // 分数相减 public Fraction subtract(Fraction other) { int num = numerator * other.denominator - other.numerator * denominator; int den = denominator * other.denominator; return new Fraction(num, den); } // 分数相乘 public Fraction multiply(Fraction other) { int num = numerator * other.numerator; int den = denominator * other.denominator; return new Fraction(num, den); } // 分数相除 public Fraction divide(Fraction other) { int num = numerator * other.denominator; int den = denominator * other.numerator; return new Fraction(num, den); } // 将分数转化为字符串形式 public String toString() { return numerator + "/" + denominator; } } ``` 以上实现中,分数的加、减、乘、除都是基于分数的四则运算规则来实现的。你可以通过以下代码来使用Fraction: ```java Fraction f1 = new Fraction(1, 2); Fraction f2 = new Fraction(3, 4); Fraction result1 = f1.add(f2); // 分数相加 Fraction result2 = f1.subtract(f2); // 分数相减 Fraction result3 = f1.multiply(f2); // 分数相乘 Fraction result4 = f1.divide(f2); // 分数相除 System.out.println(result1); // 输出 5/4 System.out.println(result2); // 输出 -1/4 System.out.println(result3); // 输出 3/8 System.out.println(result4); // 输出 2/3 ``` 希望这个设计能够帮到你。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值