java - 找到二维表列中的最大元素,从中创建新表并打印它

标签 java

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

enter image description here

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

最佳答案

您需要在代码中解决两件事:

  1. 从内部循环中删除 t[m] = table[j][i]; 并将 max 分配给 t[i]在内循环之外。
  2. 删除m,因为它没有用。

完整代码如下:

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int [][]table=new int[][]{
            {10,-6,-5,1},
            {0,-1,-7,-3},
            {9,5,-4,7},
            {8,3,-3,7},
            {4,2,-6,9}
        };

        int max;
        int[] t=new int[table[0].length];
        for(int i=0; i<table[0].length; i++){           
            max = table[0][i];
            for(int j=0; j<table.length; j++){
                if(max<table[j][i]){
                    max = table[j][i];                  
                }
            }
            t[i]=max;
        } 

        System.out.println(Arrays.toString(t));
    }
}

输出:

[10, 5, -3, 9]

关于java - 找到二维表列中的最大元素,从中创建新表并打印它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59809885/

相关文章:

java - 当文本字段留空时,为什么我的程序崩溃?

java - 您是否混淆了您的商业 Java 代码?

java - 泛型和类,在构造函数中决定子类

java - Azure 移动应用程序 (Android) 以编程方式创建 Easy Table

java - 完全覆盖代码的 EclEmma 覆盖率能否低于 100%?

java - 质心计算在 OpenCV 中产生错误的结果

java - 如何根据特定时间删除 Firebase 数据库中的项目

java - while 循环内的方法

java - 如何让JButton出现文字?

java - CI 构建无法识别 JUnit 和其他依赖项