Matrix 每行和每列上的最小元素

Matrix 每行和每列上的最小元素,matrix,row,each,minimum,Matrix,Row,Each,Minimum,这听起来可能很愚蠢,但我无法让它发挥作用。 在读取一个矩阵有多少行和多少列之后,我试图在每行上显示最小元素,然后在每列上显示最小元素 我的代码看起来像这样,但有时它抛出IndexOutOfBoundsException,有时它只是不显示列的最小值,只显示行的最小值 行的代码是 public static void minRand(int[][] n) { int[] result = new int[n.length]; int min = 0; for (int

这听起来可能很愚蠢,但我无法让它发挥作用。 在读取一个矩阵有多少行和多少列之后,我试图在每行上显示最小元素,然后在每列上显示最小元素

我的代码看起来像这样,但有时它抛出IndexOutOfBoundsException,有时它只是不显示列的最小值,只显示行的最小值

行的代码是

public static void minRand(int[][] n) {

    int[] result = new int[n.length];
    int min = 0;


    for (int i = 0; i < n.length; i++) {
        for (int j = 0; j < n[0].length; j++) {
            if (n[i][j] < n[i][min]) {
                min = j;
            }
            result[i] = n[i][min];
        }
        System.out.println("Minimum on line " + i + " is " + result[i]);
    }

}
它是0,因为我没有初始化矩阵,但每行的最小值都有效

也是。如果我给它一个平方矩阵,行和列的最小值都有效。 我做错了什么

//列中的最小值
// Minimum in Column
 public static void colMin(double[][] n){
    double[] result = new double[n.length];
    double min = 0;
    System.out.println("Column min values: ");
    for (int i = 0; i < n.length; ++i) {
        min = Integer.MAX_VALUE;
        for (int j = 1; j < n[i].length; ++j)
            if (n[j][i] < min){
                min = n[j][i];
                result[i] = min;
            }

        System.out.printf("%.2f ", result[i]);
        System.out.println();
    }

}
公共静态void colMin(双[][]n){ double[]结果=新的double[n.长度]; 双最小值=0; System.out.println(“列最小值:”); 对于(int i=0;i
只需将您计算的min分配给结果[i],如我的代码中所示。 和显示


干杯。

这很管用,但我明白了。我考虑的是行数是列的数量,反之亦然。谢谢你的努力
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
        at Principal.minCol(Principal.java:103)
        at Principal.afisareMeniu(Principal.java:196)
        at Principal.main(Principal.java:13)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

Minimum on line 0 este 0
Minimum on line 1 este 0
Minimum on line 2 este 0
// Minimum in Column
 public static void colMin(double[][] n){
    double[] result = new double[n.length];
    double min = 0;
    System.out.println("Column min values: ");
    for (int i = 0; i < n.length; ++i) {
        min = Integer.MAX_VALUE;
        for (int j = 1; j < n[i].length; ++j)
            if (n[j][i] < min){
                min = n[j][i];
                result[i] = min;
            }

        System.out.printf("%.2f ", result[i]);
        System.out.println();
    }

}