查找2d数组的最大列并将其保存到1d数组中

时间:2016-11-01 21:03:21

标签: java arrays

好的,所以我有一个10x10 2d阵列,我发现了如何计算列的最小值和最大值。我想将最小值保存到1d数组中,将最大值保存到单独的1d数组中。我发现了如何做到这一点,但是我的1d数组只打印出一堆0,它们等于16 x而不是数字的值。

import java.io.*;
import java.util.Arrays;
import java.util.Scanner;

public class F {

public static void main (String args []) throws Exception
{
            File a = new File("C:\\users\\James\\desktop\\A10Array.txt");
    Scanner scan = new Scanner(a);
    int[][] arr = new int [10][10];

        for (int i=0;i<10;i++)
            for (int j=0;j<10;j++)
                arr[i][j] = scan.nextInt();
        for (int i=0;i<10;i++)
        {
            for (int j=0;j<10;j++)
            {
                System.out.print(arr[i][j] +"\t");
            }
            System.out.println();
        } System.out.println();

        for (int i = 0; i < 10; i++) {
            int minInCol = arr[0][i];
            int maxInCol = arr[0][i];
            double sum = 0;
            for (int j = 0; j < 10; j++) {
                sum+=arr[j][i];
                if (minInCol > arr[j][i]) {
                    minInCol = arr[j][i];
                }

                if (maxInCol < arr[j][i]) {
                    maxInCol = arr[j][i];
                }

            }
            int[]min = new int [minInCol];
            int[]max = new int [maxInCol];
                System.out.print(Arrays.toString(max));

        }


scan.close();   
}
}

1 个答案:

答案 0 :(得分:0)

int[]min = new int [minInCol];
int[]max = new int [maxInCol];
System.out.print(Arrays.toString(max));

您只需创建长度为最小值和最大值的数组,但不要初始化数组。所以默认情况下,空数组的输出为0