复数类的JAVA实现

  复数的存储和简单计算的实现
/**
 *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==========
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值