java計算複數 二

2021-08-23 15:46:54 字數 2986 閱讀 5448

/***

* 複數類2

*/public class complexnumber2 implements cloneable

/*** 建構函式

* @param a 實部

* @param b 虛部

*/public complexnumber2(double a,double b)

/*** 複數的加法運算

* c = a + b的運算法則是:

* c.實部 = a.實部 + b.實部;c.虛部 = a.虛部 + b.虛部

* @param acomnum 加數

* @return 加法運算的結果,為乙個複數對數

*/public complexnumber2 add(complexnumber2 acomnum)

return new complexnumber2(this.realpart + acomnum.getrealpart(),this.imaginarypart + acomnum.getimaginarypart());

}/**

* 複數的減法運算

* c = a - b的運算法則是:

* c.實部 = a.實部 - b.實部;c.虛部 = a.虛部 - b.虛部

* @param acomnum 減數

* @return 減法運算的結果,為乙個複數物件

*/public complexnumber2 decrease(complexnumber2 acomnum)

return new complexnumber2(this.realpart - acomnum.getrealpart(),this.imaginarypart - acomnum.getimaginarypart());

}/**

* 複數的乘法運算

* c = a * b的運算法則是:

* c.實部 = a.實部 * b.實部 - a.虛部 * b.虛部;

* c.虛部 = a.虛部 * b.實部 + a.實部 * b.虛部;

* @param acomnum 乘數

* @return 乘法運算的結果,為乙個複數物件

*/public complexnumber2 multiply(complexnumber2 acomnum)

double newreal = this.realpart * acomnum.realpart - this.imaginarypart * acomnum.imaginarypart;

double newimaginary = this.realpart * acomnum.imaginarypart + this.imaginarypart * acomnum.realpart;

complexnumber2 result = new complexnumber2(newreal,newimaginary);

return result;

}/**

* 複數的除法運算

* c = a / b 的運算法則是:

* c.實部 = (a.實部 * b.實部 + a.虛部 * b.虛部)/(b.實部 * b.實部 + b.虛部 * b.虛部);

* c.虛部 = (a.虛部 * b.實部 - a.實部 * b.虛部)/(b.實部 * b.虛部 + b.虛部 * b.虛部);

* @param acomnum 除數

* @return 除法運算的結果,為乙個複數物件

*/public complexnumber2 divide(complexnumber2 acomnum)

if(acomnum.getrealpart() == 0 && acomnum.getimaginarypart() == 0)

double temp = acomnum.getrealpart() * acomnum.getrealpart() +

acomnum.getimaginarypart() * acomnum.getimaginarypart();

double crealpart = (this.realpart * acomnum.getrealpart()+

this.imaginarypart * acomnum.getimaginarypart())/temp;

double cimaginarypart = (this.imaginarypart * acomnum.getrealpart() -

this.realpart * acomnum.getimaginarypart())/temp;

return new complexnumber2(crealpart,cimaginarypart);

}public string tostring()

/*** 比較乙個物件是否和這個複數物件的值相等

*/public boolean equals(object obj)

/** 首先判斷a是不是乙個複數物件

* instanceof關鍵字用來判斷物件的型別

*/if(obj instanceof complexnumber2)

else

}else

}/**

* 獲得該複數物件的hashcode

*/public int hashcode()

/*** 根據現有物件轉殖乙個新物件,新物件和現有物件的值一樣

*/public object clone()

catch (clonenotsupportedexception e)

}public static void main(string args)

public double getrealpart()

public void setrealpart(double realpart)

public double getimaginarypart()

public void setimaginarypart(double imaginarypart)

}

java計算複數 一

複數類 public class complexnumber 建構函式 param a 實部 param b 虛部 public complexnumber double a,double b 複數的加法運算 c a b的運算法則是 c.實部 a.實部 b.實部 c.虛部 a.虛部 b.虛部 par...

複數計算器

複數的加減乘法,和普通的加減乘法有乙個區別在於,複數有實部和虛部,雖然進行運算的時候差不多,只需要實部和實部操作,虛部和虛部操作,但是顯示的時候就需要考慮到好幾種情況了。具體地說有四種情況,1.實部和虛部為0。2.實部等於0,虛部不等於0。3實部不等於0,虛部等於0.4.實部和虛部都不等於0.如下 ...

藍橋杯 複數計算

程式設計實現兩個複數的運算。設有兩個複數 和 則他們的運算公式為 要求 1 定義乙個結構體型別來描述複數。2 複數之間的加法 減法 乘法和除法分別用不用的函式來實現。3 必須使用結構體指標的方法把函式的計算結果返回。說明 使用者輸入 運算符號 a b c d.輸出 a bi,輸出時不管a,b是小於0...