java - 需要在java中打印最大元素列

标签 java

你好,我是java新手,我想编写一个程序,在其中打印2D表中列的最大元素。我正在更新图片以显示我实际想要打印的内容。 enter image description here
这是代码:

import java.util.*;

public class MaxColumnElement {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int col = sc.nextInt();
        int row = sc.nextInt();

        int[][] table = new int [col][row];
        int max= 0;
       for(int i=0; i<col; i++){


            for(int j=0; j<row; j++){
                max= table[i][0];
                table[i][j]= sc.nextInt();

                if(max<table[i][j]){

                    max= table[i][j];
                }
            }
            System.out.println("Maximum number is "+ max);
            System.out.println();
        } 

    }   
}

最佳答案

您可以像这样索引矩阵(2D 表):

matrix[row][column]

其中是从0开始的索引。

你必须像这样改变循环:

int max= 0;
    for(int i=0; i<col; i++){
        // select first element of a column as temp max
        max= table[0][i];
        for(int j=0; j<row; j++){
            // cycle on rows
            if(max<table[j][i]){
                max= table[j][i];
            }
        }
        System.out.println("Maximum number is "+ max);
        System.out.println();
    }
  1. 您必须在色谱柱上循环。选择列的第一个元素作为临时最大值
  2. 当你结束一行时,你必须初始化最大值,而不是在嵌套循环内
<小时/>

旁注:我建议您保持代码干净(因为这是一个简单的示例,我假设您有一个小文件)和单独的任务:

  1. 首先,读取文件(也许打印文件内容以确保内容正确)
  2. 然后,检查每列的最大值

这样你会更容易发现问题。

关于java - 需要在java中打印最大元素列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59808901/

相关文章:

java - JFrame.setAlwaysOnTop 不起作用

java - 为什么我的 Oval 无法打印到 JFrame?

java - 多少简单的键值对对于在 Android 中存储数据来说太多了?

java - 在多个方法中运行类的单个实例

java - CompletionStage 是否总是将异常包装在 CompletionException 中?

java - 相对路径不起作用

java - chalice : <g:layoutTitle> does not work

java - BufferReader程序逐行倒序打印输入文件(文本文件),但它也倒序打印单词

Java 语法 Class<?扩展 T[]>

java - 无效标志 : -jar after upgrading java package to 1. 8.0_211