Cfs0004
Cfs0004

Reputation: 85

X and Y coordinate loop in java

i am trying to make a for loop that will go through 9 different sets of points and execute them in my main driver with two other classes. I'm pretty stuck at the moment and can't figure out how to get the second (pointC2) to be set before the for loop runs again.

coordinates are:

X:{{86.92, 70.93, 97.74, 30.90, 51.66, 0.83, 55.91, 32.92, 65.26, 83.90},

Y:{2.47, 27.81, 34.36, 35.14, 31.70,21.77, 66.62, 75.23, 72.53, 4.710}};  

with

(86.92, 2.47) = (x1,y1)

(70.93, 27.81) = (x2,y2)

i tried setting it up as a multidimensional loop, but i couldn't get the right counter.

the basis of the assignment is to convert the cartesian coordinates to polar and then to find the distance from (x1,y1) to (x2,y2) to (x3,y3), etc.

here is the code i need to be executed after the for loop:

      //calls point1 from Cartesian
        Cartesian pointC1 = new Cartesian(x1, y1);

      //calls point2 from Cartesian
        Cartesian pointC2 = new Cartesian(x2, y2);

        double answer1 = Cartesian.distance(pointC1, pointC2);

      //prints out point1 and point2
        System.out.println("Point 1 = " + pointC2 + " Point 2 = " + pointC1);

      //prints out sum 
        System.out.println("Distance: " + answer1);

then goes goes again but this time from (x2,y2) and (x3, y3)

Upvotes: 0

Views: 2675

Answers (2)

afzalex
afzalex

Reputation: 8652

double[] x = {86.92, 70.93, 97.74, 30.90, 51.66, 0.83, 55.91, 32.92, 65.26, 83.90};
double[] y = {2.47, 27.81, 34.36, 35.14, 31.70, 21.77, 66.62, 75.23, 72.53, 4.710};
Cartesian[] pointC = new Cartesian[Math.min(x.length, y.length)];
double[] distance  = new double[pointC.length - 1];
for(int i = 0; i < pointC.length; i++){
    pointC[i] = new Cartesian(x[i], y[i]);
}
for(int i = 0; i < distance.length; i++){
    distance[i] = Cartesian.distance(pointC[i], pointC[i+1]);
}

Upvotes: 0

mazhar islam
mazhar islam

Reputation: 5619

I can tell you a procedure rather coding, but you have to study about arrays first!

Define,

array X: {{86.92, 70.93, 97.74, 30.90, 51.66, 0.83, 55.91, 32.92, 65.26, 83.90},

array Y: {2.47, 27.81, 34.36, 35.14, 31.70, 21.77, 66.62, 75.23, 72.53, 4.710}};

Then,

begin for loop from i = 0 to array size -1
x1 = array X [i];
y1 = array Y [i];
// rest of your code goes here
// ...
end for loop

Upvotes: 1

Related Questions