Java语言怎么将求二维数组每一列上的最大值?将结果作为数组输出出来

Java语言怎么将求二维数组每一列上的最大值?将结果作为数组输出出来

首先,需要定义一个与列数相等长度的数组,存储最终每一列的大小。
其次遍历每一列数据,找最大值,算法思路:

求某一列最大值

for(int i=0;i< colNum;i++){
   int max=0;
  for(int j=0;j<rowNum;j++){
       if(a[i][j]>max max = a[i][j]
    }

    lastMax[j] = max;
}


新建一个数组,

for loop i 代表列的索引
        设个tmp变量
        for loop k 代表行的索引
            if a[k][i]>tmp:赋值
                else:继续
        tmp插进数组里
打印数组

这个可以实现行的

import java.util.*;

public class Main{
    public static void main(String[] args) {
        Scanner  sc=new Scanner(System.in);
        System.out.print("该数组共有几行几列:");
        int n=sc.nextInt();   //行
        int m=sc.nextInt();   //列
        int [][]a=new int[n][m];
        int b[]=new int[n];
        for (int i = 0; i < n; i++) {
            b[i]=0;
            for (int j = 0; j < m; j++) {
                a[i][j]=sc.nextInt();
                if(b[i]<a[i][j]) {
                    b[i]=a[i][j];
                }
            }
        }
        for (int i = 0; i < n; i++) {
            System.out.println("第"+(i+1)+"行最大值:"+b[i]);
        }

    }

}

图片说明

这个可以实现列:

import java.util.*;

public class Main{
    public static void main(String[] args) {
        Scanner  sc=new Scanner(System.in);
        System.out.println("该数组共有几行");
        int n=sc.nextInt();   //行
        int m=sc.nextInt();   //列
        int [][]a=new int[n][m];
        int [][]c=new int[n][m];
        int b[]=new int[n];
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                a[i][j]=sc.nextInt();
                c[j][i]=a[i][j];
            }
        }
        for (int i = 0; i < m; i++) {
            b[i]=0;
            for (int j = 0; j < n; j++) {
                if(b[i]<c[i][j]) {
                    b[i]=c[i][j];
                }
            }
        }
        for (int i = 0; i < n; i++) {
            System.out.println("第"+(i+1)+"列最大值:"+b[i]);
        }

    }

}

图片说明