「复数java」复数的运算公式

博主:adminadmin 2022-12-20 19:00:07 51

本篇文章给大家谈谈复数java,以及复数的运算公式对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java 中实现复数的加减

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

复数类:

public class Complex {

private float shibu;

private float xubu;

Complex()

{this(0,0);

}

Complex(float shibu,float xubu){

this.shibu=shibu;

this.xubu=xubu;

}

public void Add(Complex p)

{

Complex result=new Complex();

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

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

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

}

public void Sub(Complex p)

{

Complex result=new Complex();

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

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

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

}

public void Mul(Complex p)

{

Complex result=new Complex();

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");

}

public static void main(String[] args) {

Complex fushu1=new Complex(1,2);

Complex fushu2=new Complex(3,4);

fushu1.Add(fushu2);

fushu1.Sub(fushu2);

fushu1.Mul(fushu2);

}

}

(2):提供一个例子:

源代码:

import java.io.*;

public class Book{

double sb;

double xb;

Book(double x,double y){

this.sb=x;

this.xb=y;

}

Book(){

}

public static void main(String args[]){

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

double a=0;

double b=0;

double c=0;

double d=0;

String s;

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

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

try{

s = in.readLine();

a=Double.parseDouble(s);

}

catch(IOException e)

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

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

try{

s = in.readLine();

b =Double.parseDouble(s);

}

catch(IOException e)

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

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

try{

s = in.readLine();

c =Double.parseDouble(s);

}

catch(IOException e)

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

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

try{

s = in.readLine();

d =Double.parseDouble(s);

}

catch(IOException e)

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

Book h;

h=new Book(a,b);

Book j;

j=new Book(c,d);

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

toString(h);

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

toString(j);

Book k;

k=new Book();

char z='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 :查看修改结果");

int i=0;

try{

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

}

catch(IOException e)

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

switch(i)

{

case 1:

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 ;

case 2:

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 ;

case 3:

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

int l=0;

try{

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

}

catch(IOException e)

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

if(l==1)

{

h.xiugais(h);

h.xiugaix(h);

}

else

{

xiugais(j);

xiugaix(j);

}

break ;

case 4:

double f=0;

double e=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 ;

case 5:

double chushu=cheng(j.sb,j.sb)-cheng(j.xb,-j.xb);

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

double beichushux=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 ;

case 6:

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(IOException e){}

} while(z=='y');

}

public static double gets(Book a){

return a.sb;

}

public static double getx(Book b){

return b.xb;

}

public static double xiugais(Book a)

{

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

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

double m=0;

try{

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

}

catch(IOException e)

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

a.sb=m;

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

return 0;

}

public static double xiugaix(Book b)

{

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

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

double n=0;

try{

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

}

catch(IOException e)

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

b.xb=n;

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

return 0;

}

public static double jia(double a,double b)//

{

double c=0;

c=a+b;

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

return c ;

}

public static double jian(double a,double b)

{

double c=0;

c=a-b;

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

return c;

}

public static double cheng(double a,double b)

{

double c=0;

c=a*b;

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

return  c;

}

public static double chu(double a,double b)

{

double d=0;

double c=0;

d=a/b;

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

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

return c ;

}

public  static double toString(Book a){

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

return 0;

}

}

(3)测试结果截图:

Java创建一个复数类

package table;

public class Complex

{

double real;

double imaginary;

public static final Complex ZERO = new Complex (0, 0);

public static final Complex ONE = new Complex (1, 0);

public static final Complex I = new Complex (0, 1);

public Complex ( double real, double imaginary )

{

this.real = real;

this.imaginary = imaginary;

}

public double magnitude ()

{

return Math.sqrt (this.real * this.real + this.imaginary * this.imaginary);

}

public Complex negative ()

{

return new Complex (-real, -imaginary);

}

public double valueOf ()

{

return this.real;

}

public Complex add ( Complex a, Complex b )

{

return new Complex (a.real + b.real, a.imaginary + b.imaginary);

}

public Complex subtract ( Complex a, Complex b )

{

return new Complex (a.real - b.real, a.imaginary - b.imaginary);

}

public Complex multiply ( Complex a, Complex b )

{

return new Complex (a.real * b.real - a.imaginary * b.imaginary, a.real * b.imaginary + a.imaginary * b.real);

}

@Override

public String toString ()

{

StringBuilder builder = new StringBuilder ();

builder.append ("Complex [real=").append (real).append (", imaginary=").append (imaginary).append ("]");

return builder.toString ();

}

}

在java中复数的结构包括实部和虚部?什么是实部什么是虚部?

复数是形如

a+bi

的数,

其中

a,

b

是实数,a称为实部,b称为虚部,i是虚数单位,

i^2

=

-1.

实数可以用一条直线(数轴)上的点表示,

类似地,

复数可以用一个平面(称为复平面)上的点表示.

在复平面上,a+bi

用点Z(a,b)

表示。Z与原点的距离r称为Z的模|Z|=√(a^2+b^2)

复数a+bi,b=0为实数,b不等于0为虚数,

a=0且b不等于0时为纯虚数。

复数的三角形式是

Z=r(cosx+isinx)

中x,r是实数,rcosx称为实部,rsinx称为虚部,i是虚数单位。Z与原点的距离r称为Z的模,x称为辐角。

用JAVA定义个复数类

public class Complex {

private double x;//实部

private double y;//虚部

public Complex(){}

/**构造函数

* @param x 实数部分

* @param y 虚数部分

*/

public Complex(double x,double y){

super();

this.x = x;

this.y = y;

}

/**求模

* @return 该复数的模

*/

public double mod(){

return x * x + y * y;

}

/**复数间加法

* @param complex 加数

* @return 计算结果

*/

public Complex add(Complex complex){

double x = this.x + complex.x;

double y = this.y + complex.y;

return new Complex(x,y);

}

/**复数与实数的加法

* @param a 加数

* @return 计算结果

*/

public Complex add(double a){

return this.add(new Complex(a,0));

}

/**复数间减法

* @param complex 减数

* @return 计算结果

*/

public Complex subtract(Complex complex){

double x = this.x - complex.x;

double y = this.y - complex.y;

return new Complex(x,y);

}

/**复数与实数的减法

* @param a 减数

* @return 计算结果

*/

public Complex subtract(double a){

return subtract(new Complex(a,0));

}

/**复数间乘法

* @param complex 乘数

* @return 计算结果

*/

public Complex multiply(Complex complex){

double x = this.x * complex.x - this.y * complex.y;

double y = this.y * complex.x + this.x * complex.y;

return new Complex(x,y);

}

/**复数间除法

* @param complex 除数

* @return 计算结果

*/

public Complex divide(Complex complex){

double x = (this.x * complex.x + this.y * complex.y) / (complex.mod());

double y = (this.y * complex.x - this.x * complex.y) / (complex.mod());

return new Complex(x,y);

}

public String toString(){

StringBuffer sb = new StringBuffer();

if(x != 0){

sb.append(x);

if(y 0){

sb.append("+" + y + "i");

}else if(y 0){

sb.append(y + "i");

}

}else{

if(y != 0){

sb.append(y + "i");

}

}

if(x == 0 y == 0){

return "0";

}

return sb.toString();

}

public double getX() {

return x;

}

public void setX(double x) {

this.x = x;

}

public double getY() {

return y;

}

public void setY(double y) {

this.y = y;

}

public static void main(String[] args) {

Complex a = new Complex(2,0.5);

Complex b = new Complex(0.5,2);

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

System.out.println("(" + a + ")+" + 2 + "=" + a.add(2));

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

System.out.println("(" + a + ")-" + 2 + "=" + a.subtract(2));

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

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

}

}

java中怎么表示复数

public class Complex { /**成员属性定义实部和虚部 *@param real_part 实部 *@param imagin_part 虚部 */ private double real_part; private double imagin_part; //构造方法,初始化 public Complex() { this(0.0,0.0); } //构造方法的重载

关于复数java和复数的运算公式的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-20,除非注明,否则均为首码项目网原创文章,转载请注明出处。