title: incompatible types found : void, what is wrong?
body: <p>I am trying to write a class that find the closest two vectors and return a sum.</p>
  
  <p>I have tried to understand so hard but I can't find the reason why I get this message, it's the only error I get:</p>
  
  <p>java:93: incompatible types
  found   : void
  required: EDU.gatech.cc.is.util.Vec2
          result = one.add(two);
                          ^</p>
  
  <p>Line 93 is at the end of the code, I put some arrows to indicate it!</p>
  
  <pre><code>enter code here
  
  
  package EDU.gatech.cc.is.clay;
  
  
  import java.util.*;
  import EDU.gatech.cc.is.clay.*;
  import java.lang.*;
  import EDU.gatech.cc.is.abstractrobot.*;
  import EDU.gatech.cc.is.util.Vec2;
  import EDU.gatech.cc.is.util.Units;
  
  
  public class MAX_go_in_between extends NodeVec2
  {
    public static final boolean DEBUG = /*true;*/ Node.DEBUG;
    private SocSmall abstract_robot;
  
  
    public MAX_go_in_between(SocSmall ar)
    {
      abstract_robot = ar;
  
  
    }
  
    long last_spott = 0;
    Vec2 result = new Vec2();
  
  
  
    public Vec2 Value(long timestamp)
    {
  
  
      if (DEBUG) System.out.println("MAX_Avoid_walls: Value()");
  
      if ((timestamp &gt; last_spott) || (timestamp == -1))
      {
        if (timestamp != -1) last_spott = timestamp;
  
  
        Vec2 one;
        Vec2 two;
  
        //array of Vec2 of all the opponents
        Vec2[] list_opp = abstract_robot.getOpponents(timestamp);
        //empty array of vec2 where will be put the opponents in front of the robot
        ArrayList&lt;Vec2&gt; list_opp_in_front;
  
        Vec2 temp;
  
  
        // find which opponents are in front and put them in the arraylist
        for(int i=0; i&lt;list_opp.length; i++)
        {
          temp = list_opp[i];
  
          if(temp.x &gt;= 0.0)
          {
            list_opp_in_front.add(temp);
          }
        }
  
        //get closest opponent and sets it to index 0
        for(int i=1; i&lt;list_opp_in_front.size()-1; i++)
        {
          temp = list_opp_in_front.get(i);
  
            if(list_opp_in_front.get(0).r&lt;temp.r)
          {
            list_opp_in_front.set(i, list_opp_in_front.get(0));
            list_opp_in_front.set(0, temp);
  
          }
        }
  
        //get second closest opponent and sets it to index 1
        for(int i=2; i&lt;list_opp_in_front.size()-1; i++)
        {
          temp = list_opp_in_front.get(i);
  
            if(list_opp_in_front.get(1).r&lt;temp.r)
          {
            list_opp_in_front.set(i, list_opp_in_front.get(1));
            list_opp_in_front.set(1, temp);
          }
  
            // sum both vectors
            one = list_opp_in_front.get(0);
            two = list_opp_in_front.get(1);
  
   =============&gt;&gt;&gt;&gt;
   =============&gt;&gt;&gt;&gt;   result = one.add(two);
            }
  
        }
  
        return(result);
      }
  
    }
  
  
  
  Here is the Vec2.add(Vec2) method:
  
  
   public void add(Vec2 other)
    {
    x = x + other.x;
    y = y + other.y;
    r = Math.sqrt(x*x + y*y);
    if (r &gt; 0)
     t = Math.atan2(y,x);
    }
  </code></pre>