复数类

根据要求编程实现复数类ComplexNum:

属性:real,imag,代表实部和虚部,均为double类型。
方法:
ComplexNum(): 成员变量值设为0
ComplexNum(double r,double i):
double getReal() double getImagPart()
void setReal(double d)
void setImag(double d)
ComplexNum add(ComplexNum c):加法,对象加上括弧里的参数对象
ComplexNum add(double d) :加法,对象实部加上括弧里的参数d
ComplexNum minus(ComplexNum c):减法,对象减去括弧里的参数对象
ComplexNum minus(double d) :减法,对象实部减去括弧里的参数d
ComplexNum multi(ComplexNum c):乘法,对象乘以括弧里的参数对象
ComplexNum multi(double d) :乘法,对象乘以括弧里的参数d
ComplexNum div(ComplexNum c):除法,对象除以括弧里的参数对象
ComplexNum div(double d) :除法,对象除以括弧里的参数d
toString():按a+bi形式组合成字符串
要求:
1)在主类中构造两个实部、虚部均不同的复数对象。
2)结合toString()方法依次输出两个实数加减乘除的结果
在这里插入图片描述
在这里插入图片描述


import java.util.Scanner;

/*
 * 姓名:
 * 日期:
 * 功能:根据要求编程实现复数类ComplexNum:
属性:real,imag,代表实部和虚部,均为double类型。
方法:
ComplexNum(): 成员变量值设为0
ComplexNum(double r,double i):
double getReal()  double getImagPart()
void setReal(double d)
void setImag(double d)
ComplexNum add(ComplexNum c):加法,对象加上括弧里的参数对象
ComplexNum add(double d) :加法,对象实部加上括弧里的参数d
ComplexNum minus(ComplexNum c):减法,对象减去括弧里的参数对象
ComplexNum minus(double d) :减法,对象实部减去括弧里的参数d
ComplexNum multi(ComplexNum c):乘法,对象乘以括弧里的参数对象
ComplexNum multi(double d) :乘法,对象乘以括弧里的参数d
ComplexNum div(ComplexNum c):除法,对象除以括弧里的参数对象
ComplexNum div(double d) :除法,对象除以括弧里的参数d
toString():按a+bi形式组合成字符串
要求:
1)在主类中构造两个实部、虚部均不同的复数对象。
2)结合toString()方法依次输出两个实数加减乘除的结果。
 */
public class ComplexNumDemo {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		double a,b,c,d;
		a=in.nextDouble();
		b=in.nextDouble();
		c=in.nextDouble();
		d=in.nextDouble();
		ComplexNum i=new ComplexNum(a,b);
		ComplexNum j=new ComplexNum(c,d);
		System.out.println(i.toString(j));
		
	}

}
class ComplexNum
{
	private double real,imag;
    public ComplexNum()
    {
    	real=0;
    	imag=0;
    }
    public ComplexNum(double real,double imag)
    {
    	this.real=real;
    	this.imag=imag;
    }
	public double getReal() {
		return real;
	}

	public void setReal(double real) {
		this.real = real;
	}

	public double getImag() {
		return imag;
	}

	public void setImag(double imag) {
		this.imag = imag;
	}
    public ComplexNum add(ComplexNum c)
	{
      ComplexNum b=new ComplexNum();
	  b.real=this.real+c.real;
	  b.imag=this.imag+c.imag;
	  return b;
	}
    public ComplexNum minus(ComplexNum c)
	{
      ComplexNum b=new ComplexNum();
	  b.real=this.real-c.real;
	  b.imag=this.imag-c.imag;
	  return b;
	}
    public ComplexNum multi(ComplexNum c)
	{
      ComplexNum b=new ComplexNum();
	  b.real=(this.real*c.real)-(this.imag*c.imag);
	  b.imag=(this.imag*c.real)+(this.real*c.imag);
	  return b;
	}
    public ComplexNum div(ComplexNum c)
	{
      ComplexNum b=new ComplexNum();
	  b.real=((this.real*c.real)-(this.imag*(-1)*c.imag))/((c.real*c.real)+(c.imag*c.imag));
	  b.imag=((this.imag*c.real)+(this.real*(-1)*c.imag))/((c.real*c.real)+(c.imag*c.imag));
	  return b;
	}
    
    public String toString(ComplexNum c)
    {
    	String info;
    	String i1,i2,i3,j,k,l;
    	if(getImag()>=0)
    	{
    		i1="+";
    	}
    	else 
    	{
    		i1="";
    	}
    	
    	if(c.imag>=0)
    	{
    		i2="+";
    	}
    	else 
    	{
    		i2="";
    	}
    	
    	if(add(c).imag>=0)
    	{
    		i3="+";
    	}
    	else
    	{
    		i3="";
    	}
    	if(minus(c).imag>=0)
    	{
    		j="+";
    	}
    	else
    	{
    		j="";
    	}
    	if(multi(c).imag>=0)
    	{
    		k="+";
    	}
    	else
    	{
    		k="";
    	}
    	
    	if(div(c).imag>=0)
    	{
    		l="+";
    	}
    	else
    	{
    		l="";
    	}
    	info=getReal()+i1+getImag()+"i"+"加上"+c.getReal()+i2+c.getImag()+"i"+"="+add(c).real+i3+add(c).imag+"i"
    			+"\n"+getReal()+i1+getImag()+"i"+"减去"+c.getReal()+i2+c.getImag()+"i"+"="+minus(c).real+j+minus(c).imag+"i"
    			+"\n"+getReal()+i1+getImag()+"i"+"乘以"+c.getReal()+i2+c.getImag()+"i"+"="+multi(c).real+k+multi(c).imag+"i"
    			+"\n"+getReal()+i1+getImag()+"i"+"除以"+c.getReal()+i2+c.getImag()+"i"+"="+div(c).real+l+div(c).imag+"i"; 
    	return info;
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学工科的皮皮志^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值