當前位置:編程學習大全網 - 編程語言 - 1.運用java 編寫壹個復數類,有實部和虛部,並實現復數的加減乘除運算?

1.運用java 編寫壹個復數類,有實部和虛部,並實現復數的加減乘除運算?

public class ComplexNumber {

/**

* @param args

*/

int shi,xu;//復數的實部和虛部

public ComplexNumber(int n,int ni){

shi = n;

xu = ni;

}

public void ComplexShow(){

String output = "";

output+=shi;

if(xu>=0){

output+="+";

}

output+=xu;

output+="i";

System.out.println(output);

}

public void ComplexShow1(){//不要換行

String output = "";

output+=shi;

if(xu>=0){

output+="+";

}

output+=xu;

output+="i";

System.out.print(output);

}

public static void ComplexAdd(ComplexNumber x1,ComplexNumber x2){//實現兩個復數相加

ComplexNumber cn = new ComplexNumber(0, 0);//將兩個復數相加等於cn

cn.shi = x1.shi + x2.shi;

cn.xu = x1.xu + x2.xu;

cn.ComplexShow();

}

public static void ComplexMinus(ComplexNumber x1,ComplexNumber x2){//實現兩個復數相減,第壹個數減第二個數

ComplexNumber cn = new ComplexNumber(0, 0);//將兩個復數相加等於cn

cn.shi = x1.shi - x2.shi;

cn.xu = x1.xu - x2.xu;

cn.ComplexShow();

}

public static void ComplexMultiply(ComplexNumber x1,ComplexNumber x2){//實現兩個復數相乘

ComplexNumber cn = new ComplexNumber(0, 0);//將兩個復數相加等於cn

cn.shi = x1.shi * x2.shi - x1.xu * x2.xu;

cn.xu = x1.xu * x2.shi + x2.xu * x1.shi;

cn.ComplexShow();

}

public static void ComplexDivide(ComplexNumber x1,ComplexNumber x2){//實現兩個復數相除,第壹個數除以第二個數

ComplexNumber x2_gong = new ComplexNumber(x2.shi,0-x2.xu);//求被除數的***軛復數

ComplexNumber cn = new ComplexNumber(0, 0);//將兩個復數相加等於cn

cn.shi = x1.shi * x2_gong.shi - x1.xu * x2_gong.xu;//x1/x2,求分子實部

cn.xu = x1.xu * x2_gong.shi + x2_gong.xu * x1.shi;//x1/x2,求分子虛部

int fenMu = x2.shi * x2.shi + x2.xu * x2.xu;

if(fenMu!=0){

System.out.print("(");

cn.ComplexShow1();

System.out.print(")");

System.out.println("/"+fenMu);

}

else

System.out.println("分母為零,無法相除");

}

public static void main(String[] args) {

// TODO Auto-generated method stub

ComplexNumber cn = new ComplexNumber(-1, -1);//初始化復數

cn.ComplexShow();//顯示復數

ComplexNumber c1 = new ComplexNumber(-1, -1);

ComplexNumber c2 = new ComplexNumber(1, 1);

System.out.print("加:");

ComplexAdd(c1, c2);

System.out.print("減:");

ComplexMinus(c1, c2);

System.out.print("乘:");

ComplexMultiply(c1, c2);

System.out.print("除:");

ComplexDivide(c1, c2);//自己化簡

}

}

  • 上一篇:電工電子專業包括什麽?
  • 下一篇:磨床與數控車床哪壹個有前途?學哪個好?兩個有什麽區別?
  • copyright 2024編程學習大全網