Как прочитать текстовый файл ниже по столбцам и найти минимальное значение для массива столбцов по столбцам?Заранее спасибо за помощь.
Это мой текстовый файл
John 25 5 4.5 5 4 5 10 10 6 9.5 5.5
Jim 25 5 4 5 4.5 5 10 4 10 9.5 7.5
Kathy 15 1 3 2 1 1.5 8 2 4 3 4
Steve 21 5 3 2 1 4 5 6 7 8 8
Stacy 15 5 1 1 1 5 3 8 9 5 7
Faith 16 3 4 2 4 4 7 5 2 3 8
Это то, что я хочу, чтобы массив выглядел как
Name = John, Jim, Kathy, Steve, Stacy, Faith
grade1 = 25 25 15 21 15 16
grade2 = 5 5 1 5 5 3
grade3 = 4.5 4 3 3 1 4
и так далее....
Это мой код
public static void main(String[] arg) throws IOException
{
PrintWriter writer = new PrintWriter(new FileOutputStream("Output.txt"));
double[][] grades = null;
findMinIndex(grades); //I call the function here just to test out my result before print out to text file.
writer.println("Min: " + findMinIndex(grades));
writer.close();
}
// Этот метод для чтения файла - нужно добавить эту часть, иначе страница не позволит мне сохранить свой код -
public static void processSection(PrintWriter writer, double[][]grades, String[] names) throws IOException
{
{
Scanner in = null;
try
{
in = new Scanner(new FileInputStream("input.txt"));
//in.nextLine();
int rows = in.nextInt();
int columns = in.nextInt();
grades = new double[rows][columns];
names = new String[grades.length];
String[] col = null;
while(in.hasNextLine())
{
for (int i=0; i< grades.length; i++)
{
col = in.nextLine().trim().split("\\s+");
for (int j = 1; j < col.length; j++)
{
names[i] = col[0];
grades[i][j] = Double.parseDouble(col[j]);
}
}
}
in.close();
}
catch(Exception e)
{
}
}
//This method to find Min
public static double findMinIndex(double[][] grades) throws FileNotFoundException, IOException
{
double min = grades[0][0];
for (int j = 0; j < grades.length; j++)
{
min = Integer.MAX_VALUE;
for (int i = 1; i < grades[j].length; i++)
{
if (grades[j][i] < min)
{
min = grades[j][i];
}
}
}
System.out.println(min);
return min;
}
//The result I got is to calculate the min by the row not by the column.