如何以java列方式获取2d数组中的最大和最小元素我已经获得了行方式的输出 公共类列{ 公共静态void main(字符串[]args){ int[][]数据={ { 3, 2, 5,-45 }, { 1, 4, 4, -8 }, { 9, 6, -100, -2 }, {-10, 3, 1, -2 }}; for(int row=0;row

如何以java列方式获取2d数组中的最大和最小元素我已经获得了行方式的输出 公共类列{ 公共静态void main(字符串[]args){ int[][]数据={ { 3, 2, 5,-45 }, { 1, 4, 4, -8 }, { 9, 6, -100, -2 }, {-10, 3, 1, -2 }}; for(int row=0;row,java,multidimensional-array,Java,Multidimensional Array,输出为: 最大值:5 最小值:-45 最大值:4 最小值:-8 最大值:9 最小值:-100 最大值:3 最小值:-10切换循环顺序,以查找列方向的最小值和最大值: public class colum { public static void main(String[] args) { int[][] data = { { 3, 2, 5,-45 }, { 1, 4, 4, -8 },

输出为:

最大值:5 最小值:-45

最大值:4 最小值:-8

最大值:9 最小值:-100

最大值:3
最小值:-10

切换循环顺序,以查找列方向的最小值和最大值:

public class colum {
    public static void main(String[] args) {
        int[][] data = { 
                { 3,  2,    5,-45 }, 
                { 1,  4,    4, -8 }, 
                { 9,  6, -100,  -2 },
                {-10, 3,    1,  -2 }};


        for (int row = 0; row < data.length; row++) {

            int large = data[row][0], 
                small = data[row][0];

            for (int col = 0; col < data[row].length; col++) {
                if (large < data[row][col]) {
                    large = data[row][col];

                }if (small > data[row][col]) {
                    small = data[row][col];
                }
            }

            System.out.println("\nlargest values:" + large);
            large = 0;
            System.out.println("smallest values:" +small);
            small = 0;

        }
    }
}

声明循环之外的那些:

largest values:9
smallest values:-10

largest values:6
smallest values:2

largest values:5
smallest values:-100

largest values:-2
smallest values:-45
并将其初始化为第一个元素:

    int large = data[row][0], 
    int small = data[row][0];
for(int col=0;col数据[行][列]){
小=数据[行][col];
}
}
System.out.print(“\n最大值:“+large”);
系统输出打印(“最小值:”+小);
}
只是希望你的循环语句能给你想要的输出


希望这会有所帮助。

因此,对于每个元素,您所拥有的都是正确的,现在比较整体值,即将最小值和最大值声明在循环之外
    int large = data[row][0], 
    int small = data[row][0];
    int large = data[0][0], 
    int small = data[0][0];
for (int col = 0; col < data[0].length; col++) { 

    int large = data[0][col], 
        small = data[0][col];

    for (int row = 1; row < data.length; row++) {
        if (large < data[row][col]) {
            large = data[row][col];

        }
        if (small > data[row][col]) {
            small = data[row][col];
        }

    }
    System.out.print("\nlargest values:" + large);
    System.out.print("smallest values:" +small);
}