(Java) For some reason this when I print this arraylist it prints the second part of it as same as the third part : 



import java.util.*;

public class RoadTrip
{
    ArrayList<GeoLocation> roadTrip = new ArrayList<GeoLocation>();
    
    double cheat = 0;
    
    // Create a GeoLocation and add it to the road trip
    public void addStop(String name, double latitude, double longitude)
    {
        GeoLocation loc = new GeoLocation(name + " ", longitude);
        roadTrip.add(loc);
    }
    
    // Get the total number of stops in the trip
    public int getNumberOfStops()
    {
        return roadTrip.size();
    }
    
    // Get the total miles of the trip
    public double getTripLength()
    {
        double totalDistance = 0;
        for (int i = 1; i < roadTrip.size(); i++ )
        {
            GeoLocation here = roadTrip.get(i);
            GeoLocation prev = roadTrip.get(i-1);
            totalDistance = totalDistance + here.distanceFrom(prev);
        }
        return totalDistance;
    }
    
    // Return a formatted toString of the trip
    public String toString()
    {
        int i = 0;
        String retVal="";
        for( Object test: roadTrip)
        {
            
            retVal = retVal + ( i + 1 ) + ". " + test + "\n";
            i++;
        }
        return retVal;
    }
}


When I return retVal, it returns the values 

1. Powder Springs(-110.97168, -110.97168)
2. Argonne(-149.00134, -149.00134)
3. Zeba(-84.74096, -84.74096)
4. Hyampom(-53.2522, -53.2522)
5. North Fairfield(47.05816, 47.05816)

When it should return 

1. Powder Springs (70.47312, -110.97168)
2. Argonne (-12.26804, -149.00134)
3. Zeba (-3.89922, -84.74096)
4. Hyampom (84.57072, -53.2522)
5. North Fairfield (73.14154, 47.05816)

The problem is that the latitude value is for some reason equal to the longitude value.