我怎样才能将Java控制台输出读入2d n * m双矩阵/数组

时间:2011-05-03 09:04:38

标签: java

这是代码:

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class ReadContents {
    public static void main(String[] args) throws IOException {
        File file = new File("file1.txt");
        List<float[]> list = new ArrayList<float[]>();
        Scanner scanner = new Scanner(file).useDelimiter("\n");



        while (scanner.hasNext()) {     
            String[] values = scanner.next().trim().split(" "); 
             float[] floats = new float[values.length];
             for (int i = 0; i < values.length; i++) {
                 floats[i] = Float.parseFloat(values[i]);
                 }
                 list.add(floats);
                 } 
                 float[][] values = new float[list.size()][];
                 for (int i = 0; i < list.size(); i++) {
                     values[i] = list.get(i);
                     for (int j = 0; j < values[i].length; j++) {
                         System.out.print(values[i][j] + " ");

                         }
                         System.out.println();
                 }


                int row =values.length;
                 int col=values[0].length;

                 System.out.println(row);
                 System.out.println(col);

    //******************************************************************************************************************
                  System.out.println();
                   double sum;
                   double avg=0;

               for (int p = 0; p < col; p++){
                   sum=0;
                   for (int k = 0; k < row; k++){ 
                     sum = sum + values[k][p]; 
                     //avg=((double)sum / row);

                   }
                    avg=((double)sum / row);
                   System.out.print("average"+p+"=");
                  System.out.printf("%5.2f\n", avg);
               }

它在2d矩阵中提供输出作为文件内容,并且还在控制台屏幕上打印“values [] []”矩阵的每列的平均值。现在我想打印包含先前计算的所有平均值的矩阵到单个2d n * m阵列。 请指导我。

1 个答案:

答案 0 :(得分:0)

首先,您不应该将结果转储到控制台。

相反,将结果存储到变量中。