「已注销」 2022-12-19 19:20 采纳率: 100%
浏览 44
已结题

Fraction 加减乘除 倒数 相反数

设计分数类Fraction,要求实现分数的运算功能,包括:
a、加法,函数名plus;

b、减法,函数名subtract;

c、乘法,函数名multiply;

d、除法,函数名divide;

e、倒数,函数名reciprocal;

f、相反数,函数名opposite;

g、生成输出串,函数名toString。

  • 写回答

1条回答 默认 最新

  • ShowMeAI 2022-12-19 19:29
    关注

    详细代码实现和测试用例如下,望采纳

    public class Fraction {
      private int numerator;   // 分子
      private int denominator; // 分母
    
      public Fraction(int numerator, int denominator) {
        this.numerator = numerator;
        this.denominator = denominator;
      }
    
      // 加法
      public Fraction plus(Fraction other) {
        int newNumerator = this.numerator * other.denominator + other.numerator * this.denominator;
        int newDenominator = this.denominator * other.denominator;
        return new Fraction(newNumerator, newDenominator);
      }
    
      // 减法
      public Fraction subtract(Fraction other) {
        int newNumerator = this.numerator * other.denominator - other.numerator * this.denominator;
        int newDenominator = this.denominator * other.denominator;
        return new Fraction(newNumerator, newDenominator);
      }
    
      // 乘法
      public Fraction multiply(Fraction other) {
        int newNumerator = this.numerator * other.numerator;
        int newDenominator = this.denominator * other.denominator;
        return new Fraction(newNumerator, newDenominator);
      }
    
      // 除法
      public Fraction divide(Fraction other) {
        int newNumerator = this.numerator * other.denominator;
        int newDenominator = this.denominator * other.numerator;
        return new Fraction(newNumerator, newDenominator);
      }
    
      // 倒数
      public Fraction reciprocal() {
        return new Fraction(this.denominator, this.numerator);
      }
    
      // 相反数
      public Fraction opposite() {
        return new Fraction(-this.numerator, this.denominator);
      }
    
      // 生成输出串
      public String toString() {
        return String.format("%d/%d", this.numerator, this.denominator);
      }
    }
    

    测试用例

    Fraction a = new Fraction(1, 2);
    Fraction b = new Fraction(3, 4);
    
    System.out.println(a.plus(b));      // 输出:5/4
    System.out.println(a.subtract(b));   // 输出:-1/4
    System.out.println(a.multiply(b));   // 输出:3/8
    System.out.println(a.divide(b));     // 输出:2/3
    System.out.println(a.reciprocal());  // 输出:2/1
    System.out.println(a.opposite());    // 输出:-1/2
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月19日
  • 已采纳回答 12月19日
  • 创建了问题 12月19日

悬赏问题

  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题