在设计一个复数类的时候,如何实现两个复数想加这样的方法呢?我觉得这样涉及类的两个对象的操作的方法,不知道如何写。

解决方案 »

  1.   

    当作类的方法来实现吧,java不支持操作符重载可以这样实现
    class Complex {
        int alpha;
        int beta;
        ...;
        public Complex add(Complex c) {
            return new Complex(alpha + c.getAlpha(), beta + c.getBeta());
        }
    }
      

  2.   

    也可以:
    public static Complex add(Complex c1, Complex c2) {
        ...
    }
      

  3.   

    import  java.applet.* ;      
                      import  java.awt.* ;
                      public  class  abc  extends  Applet    
                      {
                         Complex a,b,c ;
                         public  void  init( )    
                         {
                           a = new  Complex(1,2);   
                           b = new  Complex(3,4);   
                           c = new  Complex();     
                         }
                         public  void  paint(Graphics  g)    
                         {
                           c=a.complexAdd(b);
                           g.drawString("第一个复数:"+a.toString(),10,50);
                           g.drawString("第二个复数:"+b.toString(),10,70);
                           g.drawString("两复数之和:"+c.toString(),10,90);
                         }
                      }
                          
                      class  Complex
                      {
                          int  RealPart ;    // 复数的实部     
                          int  ImaginPart ;  // 复数的虚部
                          Complex() { RealPart = 0 ; ImaginPart = 0 ; }  
                          Complex(int  r , int  i)    
                          {  RealPart = r ;    ImaginPart = i ;   }
                          Complex  complexAdd(Complex  a)  
                          {
                               Complex  temp = new  Complex( );  // 临时复数对象
                               temp.RealPart=RealPart+a.RealPart;
                               temp.ImaginPart=ImaginPart+a.ImaginPart;
                               return  temp;
                          }
                          public String  toString( )         
                          {   return  ( RealPart+" + "+ImaginPart+" i ");   }
                      }