「java里面复数」java 复数类

博主:adminadmin 2022-12-07 18:18:08 152

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

本文目录一览:

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 中实现复数的加减

(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类

public class Complex {

private double real, imag;// 定义实部和虚部

public Complex() {

}

public Complex(double r, double i) {

real = r;

imag = i;

}

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 String toString() {

if (real == 0 imag == 0) {

return "0";

}

StringBuffer buf = new StringBuffer();

if (real != 0) {

buf.append(this.real);

if (imag 0) {

buf.append("+").append(imag).append("i");

} else if (imag 0) {

buf.append(imag).append("i");

}

} else {

buf.append(imag).append("i");

}

return buf.toString();

}

public Complex add(Complex a) {

return new Complex(real + a.real, imag + a.imag);

}

public static void main(String[] args) {

Complex c1 = new Complex(3.2, -4.7);

Complex c2 = new Complex(-3.9, 94.3);

Complex c3 = c1.add(c2);

System.out.println(c1);

System.out.println(c2);

System.out.println(c3);

}

}

用Java语言定义复数类Complex,必须满足如下要求:

public class Complex{

public int RealPart;

public int ImaginPart;

public Complex(){

this.RealPart = 0;

this.ImaginPart = 0;

}

public Complex(int r, int i){

this.RealPart = r;

this.ImaginPart = i

}

public Complex complexAdd(Complex a){

this.RealPart += a.RealPart;

this.ImaginPart += a.ImaginPart;

//这里返回什么?复数值是指哪个?还是复数对象?没有说清楚。我这里返回复数对象。

return this;

}

public String ToString(){

return ""+this.RealPart + this.ImaginPart;//return "" + 1 + 2 = "12";不知道这里要求是不是这样。有些话写的我没法理解。你的a + bi是个啥?如果是返回实数和虚数的和就给 1 + 2的部分加上括号。

}

}

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 复数问题

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

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

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

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

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

java里面复数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 复数类、java里面复数的信息别忘了在本站进行查找喔。

The End

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