复数类的JAVA实现
来源:互联网 发布:nginx引入端口 编辑:程序博客网 时间:2024/04/28 00:09
复数的存储和简单计算的实现
/**
*Name:ComplexNumber.java
*Author:Richard
*Date:Apr-13,2006
*Version:1.0.0.0
*=======================
*create complex number and caculate it
*/
public class ComplexNumber{
protected double realPart;
protected double imaginPart;
/**
*construct method
*/
public ComplexNumber(){
realPart = 0.0;
imaginPart = 0.0;
}
/**
*reload construct method
*/
public ComplexNumber(double r, double i){
realPart = r;
imaginPart = i;
}
/**
*set the real part with r
*/
public void setReal(double r){
realPart = r;
}
/**
*set the imagin part with i
*/
public void setImagin(double i){
imaginPart = i;
}
/**
*get the real part of complex number
*/
public double getReal(){
return realPart;
}
/**
*get the imagin part of complex number
*/
public double getImagin(){
return imaginPart;
}
/**
*convers the real part and imagin part to string
*/
public String toStr(){
return String.valueOf(realPart +"+"+ imaginPart +"i");
}
/**
*add two complex numbers and return the result as ComplexNumber
*/
public static ComplexNumber complexAdd(ComplexNumber parm1, ComplexNumber parm2){
ComplexNumber result = new ComplexNumber();
result.setReal(parm1.getReal()+parm2.getReal());
result.setImagin(parm1.getImagin()+parm2.getImagin());
return result;
}
/**
*minus two complex numbers and return the result as ComplexNumber
*/
public static ComplexNumber complexMinus(ComplexNumber parm1, ComplexNumber parm2){
ComplexNumber result = new ComplexNumber();
result.setReal(parm1.getReal()-parm2.getReal());
result.setImagin(parm1.getImagin()-parm2.getImagin());
return result;
}
/**
*multi two complex numbers and return the result as ComplexNumber
*/
public static ComplexNumber complexMulti(ComplexNumber parm1, ComplexNumber parm2){
ComplexNumber result = new ComplexNumber();
double realTemp = 0.0;
double imaginTemp = 0.0;
realTemp = parm1.getReal()*parm2.getReal()-parm1.getImagin()*parm2.getImagin();
imaginTemp = parm1.getReal()*parm2.getImagin()+parm1.getImagin()*parm2.getReal();
result.setReal(realTemp);
result.setImagin(imaginTemp);
return result;
}
/**
*div two complex numbers and return the result as ComplexNumber
*/
public static ComplexNumber complexDiv(ComplexNumber parm1, ComplexNumber parm2){
ComplexNumber result = new ComplexNumber();
double realTemp = 0.0;
double imaginTemp = 0.0;
double div = 0.0;
div = Math.pow(parm2.getReal(), 2)+Math.pow(parm2.getImagin(), 2);
realTemp = parm1.getReal()*parm2.getReal()+parm1.getImagin()*parm2.getImagin();
imaginTemp = parm2.getReal()*parm1.getImagin()-parm1.getReal()*parm2.getImagin();
result.setReal(realTemp/div);
result.setImagin(imaginTemp/div);
return result;
}
};
//==========End Class ComplexNumber==========