复数的存储和简单计算的实现
/** *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==========