首页编程java编程java复数返回什么类型 java里怎样表示复数啊

java复数返回什么类型 java里怎样表示复数啊

编程之家2023-10-1198次浏览

各位老铁们,大家好,今天由我来为大家分享java复数返回什么类型,以及java里怎样表示复数啊的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

java复数返回什么类型 java里怎样表示复数啊

java里怎样表示复数啊

ic class Complex

{

private double real,im;//实部,虚部

java复数返回什么类型 java里怎样表示复数啊

public Complex(double real, double im)//构造方法

{

this.real= real;

java复数返回什么类型 java里怎样表示复数啊

this.im= im;

}

public Complex(double real)//构造方法重载

{

this(real,0);

}

public Complex()

{

this(0,0);

}

public Complex(Complex c)//拷贝构造方法

{

this(c.real,c.im);

}

public boolean equals(Complex c)//比较两个对象是否相等

{

return this.real==c.real&& this.im==c.im;

}

public String toString()

{

return"("+this.real+"+"+this.im+"i)";

}

public void add(Complex c)//两个对象相加

{//改变当前对象,没有返回新对象

this.real+= c.real;

this.im+= c.im;

}

public Complex plus(Complex c)//两个对象相加,与add()方法参数一样不能重载

{//返回新创建对象,没有改变当前对象

return new Complex(this.real+c.real, this.im+c.im);

}

public void subtract(Complex c)//两个对象相减

{//改变当前对象,没有返回新对象

this.real-= c.real;

this.im-= c.im;

}

public Complex minus(Complex c)//两个对象相减,与subtract()方法参数一样不能重载

{//返回新创建的对象,没有改变当前对象

return new Complex(this.real-c.real, this.im-c.im);

}

}

class Complex__ex

{

public static void main(String args[])

{

Complex a= new Complex(1,2);

Complex b= new Complex(3,5);

Complex c= a.plus(b);//返回新创建对象

System.out.println(a+"+"+b+"="+c);

}

}

/*

程序运行结果如下:

(1.0+2.0i)+(3.0+5.0i)=(40.0+7.0i)

*/

java 中实现复数的加减

(1):具体代码(附注释)

复数类:

publicclassComplex{

privatefloatshibu;

privatefloatxubu;

Complex()

{this(0,0);

}

Complex(floatshibu,floatxubu){

this.shibu=shibu;

this.xubu=xubu;

}

publicvoidAdd(Complexp)

{

Complexresult=newComplex();

result.shibu=this.shibu+p.shibu;

result.xubu=this.xubu+p.xubu;

System.out.print("加法结果为:"+result.shibu+"+"+result.xubu+"i");

}

publicvoidSub(Complexp)

{

Complexresult=newComplex();

result.shibu=this.shibu-p.shibu;

result.xubu=this.xubu-p.xubu;

System.out.print("加法结果为:"+result.shibu+"+"+result.xubu+"i");

}

publicvoidMul(Complexp)

{

Complexresult=newComplex();

result.shibu=this.shibu*p.shibu-this.xubu*p.xubu;

result.xubu=this.shibu*p.xubu+p.shibu*this.xubu;

System.out.print("乘法结果为:"+result.shibu+"+"+result.xubu+"i");

}

publicstaticvoidmain(String[]args){

Complexfushu1=newComplex(1,2);

Complexfushu2=newComplex(3,4);

fushu1.Add(fushu2);

fushu1.Sub(fushu2);

fushu1.Mul(fushu2);

}

}

(2):提供一个例子:

源代码:

importjava.io.*;

publicclassBook{

doublesb;

doublexb;

Book(doublex,doubley){

this.sb=x;

this.xb=y;

}

Book(){

}

publicstaticvoidmain(Stringargs[]){

System.out.println("请输入数据:");

doublea=0;

doubleb=0;

doublec=0;

doubled=0;

Strings;

BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));

System.out.println("请输入第一个复述的实部:");

try{

s=in.readLine();

a=Double.parseDouble(s);

}

catch(IOExceptione)

{System.out.println("抛掷异常");}

System.out.println("请输入第一个复述的虚部:");

try{

s=in.readLine();

b=Double.parseDouble(s);

}

catch(IOExceptione)

{System.out.println("抛掷异常");}

System.out.println("请输入第二个复述的实部:");

try{

s=in.readLine();

c=Double.parseDouble(s);

}

catch(IOExceptione)

{System.out.println("抛掷异常");}

System.out.println("请输入第二个复述的虚部:");

try{

s=in.readLine();

d=Double.parseDouble(s);

}

catch(IOExceptione)

{System.out.println("抛掷异常");}

Bookh;

h=newBook(a,b);

Bookj;

j=newBook(c,d);

System.out.println("您输入的一个数为:");

toString(h);

System.out.println("您输入的二个数为:");

toString(j);

Bookk;

k=newBook();

charz='y';

do{

System.out.println("请选择您要进行的计算:");

System.out.println("1:进行加法运算");

System.out.println("2:进行减法运算");

System.out.println("3:进行修改");

System.out.println("4:进行乘法运算");

System.out.println("5:进行除法运算");

System.out.println("6:查看修改结果");

inti=0;

try{

i=Integer.parseInt(in.readLine());

}

catch(IOExceptione)

{System.out.println("抛掷异常");}

switch(i)

{

case1:

k.sb=jia(h.sb,j.sb);

k.xb=jia(h.xb,j.xb);

System.out.println("计算结果的实部为:"+k.sb);

System.out.println("计算结果的虚部为:"+k.xb);

toString(k);

break;

case2:

k.sb=jian(h.sb,j.sb);

k.xb=jian(h.xb,j.xb);

System.out.println("计算结果的实部为:"+k.sb);

System.out.println("计算结果的虚部为:"+k.xb);

toString(k);

break;

case3:

System.out.println("请输入您要修改哪个实数:");

intl=0;

try{

l=Integer.parseInt(in.readLine());

}

catch(IOExceptione)

{System.out.println("抛掷异常");}

if(l==1)

{

h.xiugais(h);

h.xiugaix(h);

}

else

{

xiugais(j);

xiugaix(j);

}

break;

case4:

doublef=0;

doublee=0;

f=cheng(h.sb,j.sb)+cheng(h.xb,j.xb);

e=cheng(h.sb,j.xb)+cheng(h.xb,j.sb);

k.sb=(double)(Math.round(f*100)/100.0);

k.xb=(double)(Math.round(e*100)/100.0);

System.out.println("计算结果的实部为:"+k.sb);

System.out.println("计算结果的虚部为:"+k.xb);

toString(k);

break;

case5:

doublechushu=cheng(j.sb,j.sb)-cheng(j.xb,-j.xb);

doublebeichushus=jian(cheng(h.sb,j.sb),cheng(h.xb,-j.xb));

doublebeichushux=jia(cheng(h.sb,-j.xb),cheng(h.xb,j.sb));

k.sb=chu(beichushus,chushu);

k.xb=chu(beichushux,chushu);

System.out.println("计算结果的实部为:"+k.sb);

System.out.println("计算结果的虚部为:"+k.xb);

toString(k);

break;

case6:

System.out.println("修改后的结果为:");

System.out.println("第一个复数:"+toString(h));

System.out.println("第二个复数:"+toString(j));

break;

}

System.out.println("请问您是否还要继续y/n:");

try{

z=(char)System.in.read();

System.in.skip(2);//忽略回车换行

}

catch(IOExceptione){}

}while(z=='y');

}

publicstaticdoublegets(Booka){

returna.sb;

}

publicstaticdoublegetx(Bookb){

returnb.xb;

}

publicstaticdoublexiugais(Booka)

{

BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));

System.out.println("请输入您要修改的实部:");

doublem=0;

try{

m=Double.parseDouble(in.readLine());

}

catch(IOExceptione)

{System.out.println("抛掷异常");}

a.sb=m;

System.out.println("修改成功:");

return0;

}

publicstaticdoublexiugaix(Bookb)

{

BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));

System.out.println("请输入您要修改的虚部:");

doublen=0;

try{

n=Double.parseDouble(in.readLine());

}

catch(IOExceptione)

{System.out.println("抛掷异常");}

b.xb=n;

System.out.println("修改成功:");

return0;

}

publicstaticdoublejia(doublea,doubleb)//

{

doublec=0;

c=a+b;

System.out.println("加法成功:");

returnc;

}

publicstaticdoublejian(doublea,doubleb)

{

doublec=0;

c=a-b;

System.out.println("减法成功:");

returnc;

}

publicstaticdoublecheng(doublea,doubleb)

{

doublec=0;

c=a*b;

System.out.println("乘法成功:");

returnc;

}

publicstaticdoublechu(doublea,doubleb)

{

doubled=0;

doublec=0;

d=a/b;

c=(double)(Math.round(d*100)/100.0);

System.out.println("除法成功:");

returnc;

}

publicstaticdoubletoString(Booka){

System.out.println("结果为:"+a.sb+"+"+a.xb+"*i");

return0;

}

}

(3)测试结果截图:

java 复数问题

1、首先Java中的数都是有符号的

2、所以,负数的话只需直接在数字前面加个负号(-)即可,如-5。

3、要开平方的话,请直接调用Math.sqrt(数值)方法即可。

4、当然,由于要开平方的数都必须是正数,所以,你可以直接调用Math.abs(d)方法求绝对值最为正确与简便,而不用写成-(-5),代码里也不提倡此写法。

有问题请继续提问,欢迎采纳,谢谢!

关于java复数返回什么类型,java里怎样表示复数啊的介绍到此结束,希望对大家有所帮助。

什么是java控件 什么是控件广西贫困县名单 广西省贫困县有哪些