• 04-16-2008, 04:17 PM
BHCluster
I have a class like this
Code:

```public static double Euclidean(double[] array1, double[] array2) {         //Store the numbers of the both arrays         double x1= array1[0];         double y1=array2[0];         double x2= array1[1];         double y2= array2[1];         double x3=array1[2];         double y3=array2[2];         //Compute the minus part of the formula         double minusResult1 = y1-x1;         double minusResult2 = y2-x2;         double minusResult3 = y3-x3;         //Square the answers         double square1 = pow(minusResult1, 2);         double square2 = pow(minusResult2, 2);         double square3 = pow(minusResult3, 2);         //Sum the squares         double sumOfSquares = square1+square2+square3;         //Get the square root of the sumOfSquares         double finalResult = sqrt(sumOfSquares);         return finalResult; }```
In that class there is going to be 60 Y and 3 X and from which Result for all is going to be X-Y so in stead of writing the above lines 60 time i was wondering how this can be done ith a loop if it can be done.

Example:
Code:

```          x1                x2                x3 y1    -9.30                5.65                -5.02 y2    -4.10                5.68                0.56 y3    4.75                0.11                2.86 y4    -1.54                -10.01                -1.99 y5    -6.29                5.62                -2.78 y6    -13.02                1.31                1.61 y7    -5.85                3.79                -6.56 y60  -12.71                -0.45                0.62```
Any help is greatly appreciated.
• 04-16-2008, 04:28 PM
DonCash
You could put it into a for loop..

Code:

```for(int i = 0; i < 60; i++){                             }```
• 04-16-2008, 04:49 PM
BHCluster
you mean like this
Quote:

public static double Euclidean(double[] array1, double[] array2){

//Store the numbers of the both arrays
double x;
double y

String[] arrayX;
arrayX = new String[3];

// Read each line into the array
for (int i = 0; i < arrayX.length; i++){
arrayX[i] = x();
}

String[] arrayY;
arrayY = new String[60];

// Read each line into the array
for (int i = 0; i < myarrayY.length; i++){
arrayY[i] = y();
}

}
• 04-16-2008, 04:59 PM
DonCash
Yeah looks good to me. What happens when you compile it?
• 04-16-2008, 05:40 PM
BHCluster
I know you get pm alot but I am bit desperate because I don't know how to convert this:
Code:

```import java.io.*; import static java.lang.Math.*; class numbers public static double Euclidean(double[] array1, double[] array2) {         //Store the numbers of the both arrays         double x1= array1[0];         double y1=array2[0];         double x2= array1[1];     double y2= array2[1];     double x3=array1[2];     double y3=array2[2];         //Compute the minus part of the formula         double minusResult1 = y1-x1;         double minusResult2 = y2-x2;         double minusResult3 = y3-x3;         //Square the answers         double square1 = pow(minusResult1, 2);         double square2 = pow(minusResult2, 2);     double square3 = pow(minusResult3, 2);         //Sum the squares         double sumOfSquares = square1+square2+square3;         //Get the square root of the sumOfSquares         double finalResult = sqrt(sumOfSquares);         return finalResult; } public static double Manhattan(double[] array1, double[] array2)                 { //Store the numbers of the both arrays double x1= array1[0];         double y1=array2[0];         double x2= array1[1];     double y2= array2[1];     double x3=array1[2];     double y3=array2[2];         //Compute the minus part of the formula         double minusResult1 = y1-x1;         double minusResult2 = y2-x2;         double minusResult3 = y3-x3;     //Square the answers         double abs1 = abs(minusResult1 );         double abs2 = abs(minusResult2);         double abs3 = abs(minusResult3 );         //Sum the squares         double sumOfAbs = abs1+abs2+abs3;         //Get the square root of the sumOfAbs         double finalResult = sqrt(sumOfAbs);         return finalResult; } public static void main(String[] args)         {         double[] gene={-9.30, 5.65, -5.02};         double[] gene1={-4.10, 5.68, 0.56};         double EuclideanDist = Euclidean(gene, gene1);         System.out.println("Euclidean distance = " + EuclideanDist);         double ManhattanDist = Manhattan(gene, gene1);         System.out.println("Manhattan = " + ManhattanDist);         } }```
So it reads the file with 3 across and 60 down numbers. I have this code bellow which reads file and displays it on the screen but I cannot seem to get it to do what the code above does. If you know how to do it please help cos I don't know.

Code:

```import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileWriter; import java.io.InputStreamReader; import java.io.Writer; import static java.lang.Math.*; public class csv { public static double Euclidean(double[] array1, double[] array2){ //Store the numbers of the both arrays         double x;         double y     String[] arrayX;         arrayX = new String[3];         // Read each line into the array         for (int i = 0; i < arrayX.length; i++){                 arrayX[i] = x();         }         String[] arrayY;         arrayY = new String[60];         // Read each line into the array         for (int i = 0; i < myarrayY.length; i++){                 arrayY[i] = y();         }         String[] MinusResults;         MinusResults = new String[61];         // Read each line into the array         for (int i = 0; i < MinusResults.length; i++){                 MinusResults[i] = y() - x();         } } public static double Manhattan(double[] array1, double[] array2){ } public static void main(String[] args) throws Exception {         // Set file name & path         String filepath = "Data_Set_1.txt";         //String output = "Output_Data_Set_1.txt";         // Read in file         FileInputStream in = new FileInputStream(filepath);         BufferedReader br = new BufferedReader(new InputStreamReader(in));         String strLine;         //Write file         //FileOutputStream out = new FileOutputStream(output);         //BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(out));         // Declare Array which will hold 61 lines         String[] myarray;         myarray = new String[61];         // Read each line into the array         for (int i = 0; i < myarray.length; i++){                 myarray[i] = br.readLine();         }         in.close();         // Print out array info in desired order. Delete " characters         for (int i = 1; i < myarray.length; i++){                 System.out.println(myarray[i].replace("\"", ""));         }   } }```

Any help is greatly appreciated. Thank you for taking interest.