网站首页 > 文章中心 > 其它

复数类java代码

作者:小编 更新时间:2023-08-21 14:16:29 浏览量:486人看过

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

复数类java代码-图1

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

复数类java代码-图2

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"

import java.util.*;

public class ComplexTest{

static class ComplexNumber{

private double real,image;

public ComplexNumber(){

this(0.0,0.0);}

public ComplexNumber(double a,double b){

real=a;image=b;

public ComplexNumber add(ComplexNumber x){

return new ComplexNumber(real+x.real,image+x.image);}

public ComplexNumber sub(ComplexNumber x){

return new ComplexNumber(real-x.real,image-x.image); }

public ComplexNumber mul(ComplexNumber x){

return new ComplexNumber(real*x.real-image*x.image,real*x.image+image*x.real);}

if(x.real==0x.image==0){

System.out.println("无法进行除法!");

return new ComplexNumber();}

else return new ComplexNumber((real*x.real+image*x.image)/(x.real*x.real+x.image*x.image)

,(image*x.real-real*x.image)/(x.real*x.real+x.image*x.image));}

public double getReal (){return real;}

public double getImage (){return image;}

public void show(){System.out.println(this.toString());}

public String toString(){

if(image0)return ""+real+image+"i";

else return ""+real+"+"+image+"i";

static class Test{

public Test(){

Scanner sr=new Scanner(System.in);

ComplexNumber a,b,c;

try{System.out.println("请输入第一个实部和虚部:");

a=new ComplexNumber(sr.nextDouble(),sr.nextDouble());

System.out.println("请输入第二个实部和虚部:");

b=new ComplexNumber(sr.nextDouble(),sr.nextDouble());

System.out.print("第一个复数:");a.show();

System.out.print("第二个复数:");b.show();

c=a.add(b);

System.out.print("两个复数的和:");c.show();

c=a.sub(b);

System.out.print("两个复数的差:");c.show();

c=a.mul(b);

System.out.print("两个复数的积:");c.show();

System.out.print("两个复数的商:");c.show();

catch(InputMismatchException e){

System.out.println("输入有误!");}

public static void main(String[] args){

new Test();

java 中实现复数的加减

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

复数类:

public?class?Complex?{

复数类java代码-图3

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)

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

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

public?void?Mul(Complex?p)

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)?{

源代码:

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("请输入第一个复述的虚部:");

b?=Double.parseDouble(s);

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

c?=Double.parseDouble(s);

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

d?=Double.parseDouble(s);

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?:进行加法运算");

int?i=0;

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

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?;

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

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

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

int?l=0;

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

if(l==1)

h.xiugais(h);

h.xiugaix(h);

else

xiugais(j);

xiugaix(j);

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

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("修改后的结果为:");

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

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

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

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

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)

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

double?m=0;

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

a.sb=m;

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

return?0;

public?static?double?xiugaix(Book?b)

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

double?n=0;

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

b.xb=n;

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

c=a+b;

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

return?c?;

public?static?double?jian(double?a,double?b)

c=a-b;

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

return?c;

public?static?double?cheng(double?a,double?b)

c=a*b;

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

public?static?double?chu(double?a,double?b)

d=a/b;

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

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

public?static?double?toString(Book?a){

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

java 编写一个可对复数进行加减运算的程序

①.、real和image这两个field前面的static去掉.

用java 编写一个复数类

public class Complex {

protected int a;

protected int b;

public Complex(int a, int b) {

this.a = a;

this.b = b;

public String toString() {

return this.a + " + " + this.b + "i";

return new Complex(a, b);

//测试用的类

public class ComplexTest {

public static void main(String[] args) throws Exception{

// TODO Auto-generated method stub

以上就是土嘎嘎小编为大家整理的复数类java代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章