首页 > 解决方案 > 在 2D 表的列中查找最大元素,从中创建新表并打印

问题描述

您好,我是 Java 新手,我想编写一个程序,在其中打印 2D 表中列中的最大元素。使用此代码,我越界了,我正在更新图片以显示我实际想要打印的内容。

在此处输入图像描述

Scanner sc = new Scanner(System.in);
int col = sc.nextInt();
int row = sc.nextInt();

int[][] table = new int [col][row];
int[]   t     = new int [row];


 for(int i=0; i<col; i++){
    for(int j=0; j<row; j++){
     table[i][j] = sc.nextInt();                   
     }
}
   int max= 0;
for(int i=0; i<col; i++){
    int m = 0;
    max = table[0][i];
    for(int j=0; j<row; j++){
        if(max<table[j][i]){
            max = table[j][i];
            t[m] = table[j][i];
            m++;
        }
    }
}      
System.out.println(Arrays.toString(t));

标签: java

解决方案


试试这个。在您的代码m中,每列可以增加一次以上。

int[][] table = new int [row][col];
int[]   t     = new int [col];
for(int i=0; i<row; i++){
    for(int j=0; j<col; j++){
     table[i][j] = sc.nextInt();                   
     }
}
for(int i=0; i<col; i++){
    int m = 0;
    max = table[0][i];
    for(int j=0; j<row; j++){
        if(max<table[j][i]){
            max = table[j][i];
        }
    }
    t[i] = max;
}      

推荐阅读