「已注销」 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 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答
  • ¥20 在本地部署CHATRWKV时遇到了AttributeError: 'str' object has no attribute 'requires_grad'