Method Detail readFile public static double[][] readFile (java.io. File file) throws java.io.FileNotFoundException Reads from a file and returns a ragged aray of doubles The maximum rows is 10 and the maximum columns for each row is 10 Each row in the file is separated by a new line Each element in the row is separated by a space Suggestion: You need to know how many rows and how many columns there are for each row to create a ragged array. 1. Read the doubles from the file into an a temporary array [10][10] of Strings which was initialized to nulls. 2. Find out how many rows there are (any row that has the first element != null is a valid row) 3. Create the array based on the num of rows, i.e. double[][(Jarray = new double[#rows][] 4. Determine the number of columns for the first row (any element != null is a valid element) 5. Create the first row, i.e. array[0] = new double[#columns] 6. Put the values from the temporary array into in the row (don't forget to convert from strings to doubles) 7. Repeat for all rows Parameters: file - the file to read from Returns: a two dimensional ragged (depending on data) array of doubles if the file is not empty, returns a null if file is empty Throws: java.io.FileNotFoundException
I need some helping fixing my code for this method(in screenshot). Also could you explain tokens please!
public static double[][] readFile (java.io.File file) throws FileNotFoundException{
String[] temp = new String[10];
int row = 0;
int colum = 0;
int i = 0;
int k = 0;
double[][] Fill = null;
Scanner sc;
try {
sc = new Scanner(file);
String[] token;
while(sc.hasNextLine()){
temp[row] = sc.nextLine();
//split = line.split(" ");
row++;
}
Fill = new double[row][];
for(; i<row; i++){
token = temp[i].split(" ");
colum = token.length;
Fill[i] =new double[colum];
for(; k<token.length; k++) {
Fill[i][k]=Double.parseDouble(token[k]);
}
k = 0;
i++;
}
sc.close();
for(int p = 0; p<Fill.length;p++)
{
for(int v =0; v<Fill[colum].length; v++)
{
System.out.println(Fill[row][colum]+ " ");
}
System.out.println();
}
}catch( FileNotFoundException e) {
e.getMessage();
}
return Fill;
}
}
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 2 images