你好,我是java新手,我想编写一个程序,在其中打印2D表中列的最大元素。我正在更新图片以显示我实际想要打印的内容。
这是代码:
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();
}
- 您必须在色谱柱上循环。选择列的第一个元素作为临时最大值
- 当你结束一行时,你必须初始化最大值,而不是在嵌套循环内
旁注:我建议您保持代码干净(因为这是一个简单的示例,我假设您有一个小文件)和单独的任务:
- 首先,读取文件(也许打印文件内容以确保内容正确)
- 然后,检查每列的最大值
这样你会更容易发现问题。
关于java - 需要在java中打印最大元素列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59808901/