nuoeraaa 2022-11-21 16:07 采纳率: 85.7%
浏览 7
已结题

java幂的类封装怎么补充代码

class Mi {
/*类Mi
  成员变量 double型diShu,zhiShu
  含参构造方法Mi(double a,double b)
  输出方法shuChu(),按幂的形式输出结果,如 2^4
  获取底数方法getDiShu(),返回幂的底数
  获取指数方法getZhiShu(),返回幂的指数
  muti(Mi r) 计算同底数幂的乘法,指数相加;底数不同,报错
  div(Mi r) 计算同底数幂的除法,指数相减;底数不同,报错
  power(Mi r) 计算同底数幂的乘方
*/
double diShu,zhiShu;
//---begin---

//【代码】声明double型变量diShu,zhiShu

 
//【代码】含参构造方法,将参数赋值给变量diShu,zhiShu
 
double getDiShu() {
    return diShu;
}
double getZhiShu() {
    return zhiShu;
}

void shuChu() {
    if(diShu==0) 
        System.out.print(0);    
    else if(zhiShu==0)
        System.out.print(1);    
    else if(diShu<0&&zhiShu>0)
        System.out.print("("+diShu+")"+"^"+zhiShu);
    else if(diShu>0&&zhiShu<0)
        System.out.print(diShu+"^"+"("+zhiShu+")");    
    else if(zhiShu<0&&diShu<0)
        System.out.print("("+diShu+")"+"^"+"("+zhiShu+")");
    else
        System.out.print(diShu+"^"+zhiShu);
}

Mi muti(Mi r) {//同底数幂的乘法运算
 
}


Mi div(Mi r) {//同底数幂的除法运算
 
}

Mi power(double r) {//同底数幂的乘方运算 
 
 
}
}
 
  
public class MainClass {

    public static void main(String[] args) { 
        Mi r1=new Mi(4,4);
        Mi r2=new Mi(4,2);
        double r=3;
        System.out.println("幂的乘法");
        Mi Result=r1.muti(r2);
        Result.shuChu();
        System.out.println("\n幂的除法");
        Result=r1.div(r2);
        Result.shuChu();
        System.out.println("\n幂的乘方");
        Result=r1.power(r); 
        Result.shuChu();
    }

}


  • 写回答

1条回答 默认 最新

  • 程序员Forlan 2022-11-21 16:37
    关注
    class Mi {
    /*类Mi
      成员变量 double型diShu,zhiShu
      含参构造方法Mi(double a,double b)
      输出方法shuChu(),按幂的形式输出结果,如 2^4
      获取底数方法getDiShu(),返回幂的底数
      获取指数方法getZhiShu(),返回幂的指数
      muti(Mi r) 计算同底数幂的乘法,指数相加;底数不同,报错
      div(Mi r) 计算同底数幂的除法,指数相减;底数不同,报错
      power(Mi r) 计算同底数幂的乘方
    */
    //---begin---
    
        //【代码】声明double型变量diShu,zhiShu
        private double diShu;
        private double zhiShu;
    
    //【代码】含参构造方法,将参数赋值给变量diShu,zhiShu
    
    
        public Mi(double diShu, double zhiShu) {
            this.diShu = diShu;
            this.zhiShu = zhiShu;
        }
    
        double getDiShu() {
            return diShu;
        }
    
        double getZhiShu() {
            return zhiShu;
        }
    
        void shuChu() {
            if (diShu == 0)
                System.out.print(0);
            else if (zhiShu == 0)
                System.out.print(1);
            else if (diShu < 0 && zhiShu > 0)
                System.out.print("(" + diShu + ")" + "^" + zhiShu);
            else if (diShu > 0 && zhiShu < 0)
                System.out.print(diShu + "^" + "(" + zhiShu + ")");
            else if (zhiShu < 0 && diShu < 0)
                System.out.print("(" + diShu + ")" + "^" + "(" + zhiShu + ")");
            else
                System.out.print(diShu + "^" + zhiShu);
        }
    
        Mi muti(Mi r) {//同底数幂的乘法运算
            // 同底数幂相乘,底数不变,指数相加
            return new Mi(this.getDiShu(), this.getZhiShu() + r.getZhiShu());
        }
    
    
        Mi div(Mi r) {//同底数幂的除法运算
            // 同底数幂相乘,底数不变,指数相减
            return new Mi(this.getDiShu(), this.getZhiShu() - r.getZhiShu());
        }
    
        Mi power(double r) {//同底数幂的乘方运算
            // 幂的乘方,底数不变,指数相乘
            return new Mi(this.getDiShu(), this.getZhiShu() * r);
        }
    }
    
    
    public class MainClass {
    
        public static void main(String[] args) {
            Mi r1 = new Mi(4, 4);
            Mi r2 = new Mi(4, 2);
            double r = 3;
            System.out.println("幂的乘法");
            Mi Result = r1.muti(r2);
            Result.shuChu();
            System.out.println("\n幂的除法");
            Result = r1.div(r2);
            Result.shuChu();
            System.out.println("\n幂的乘方");
            Result = r1.power(r);
            Result.shuChu();
        }
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月1日
  • 已采纳回答 11月23日
  • 创建了问题 11月21日

悬赏问题

  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测