dabocaiqq
dabocaiqq
采纳率100%
2020-05-22 19:49

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

已采纳

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • wojiushiwo945you 毕小宝 10月前

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

    求某一列最大值
    
    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;
    }
    
    
    
    点赞 1 评论 复制链接分享
  • weixin_46629453 沐子熙 10月前

    这个可以实现行的

    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]);
            }
    
        }
    
    }
    

    图片说明

    点赞 评论 复制链接分享
  • weixin_43988842 关竹 10月前

    新建一个数组,

    for loop i 代表列的索引
            设个tmp变量
            for loop k 代表行的索引
                if a[k][i]>tmp:赋值
                    else:继续
            tmp插进数组里
    打印数组
    
    点赞 评论 复制链接分享