java - 如何在java列中获取二维数组中的最大和最小元素我已经得到了行的输出
问题描述
public class colum {
public static void main(String[] args) {
int[][] data = {
{ 3, 2, 5,-45 },
{ 1, 4, 4, -8 },
{ 9, 6, -100, -2 },
{-10, 3, 1, -2 }};
for (int row = 0; row < data.length; row++) {
int large = data[row][0],
small = data[row][0];
for (int col = 0; col < data[row].length; col++) {
if (large < data[row][col]) {
large = data[row][col];
}if (small > data[row][col]) {
small = data[row][col];
}
}
System.out.println("\nlargest values:" + large);
large = 0;
System.out.println("smallest values:" +small);
small = 0;
}
}
}
输出是:
最大值:5 最小值:-45
最大值:4 最小值:-8
最大值:9 最小值:-100
最大值:3 最小值:-10
解决方案
切换循环的顺序以找到按列的最小值和最大值:
for (int col = 0; col < data[0].length; col++) { // assuming all row have same length
int large = data[0][col],
small = data[0][col];
for (int row = 1; row < data.length; row++) {
if (large < data[row][col]) {
large = data[row][col];
}
if (small > data[row][col]) {
small = data[row][col];
}
}
System.out.println("\nlargest values:" + large);
System.out.println("smallest values:" +small);
}
输出:
largest values:9
smallest values:-10
largest values:6
smallest values:2
largest values:5
smallest values:-100
largest values:-2
smallest values:-45
推荐阅读
- spring-boot - Springdoc Swagger 3 - 添加 API 组后无法加载 API 定义
- javascript - 在 React.memo 中需要 useCallback 吗?
- google-cloud-dataflow - 使用 Dataflow SQL UI 时,“SQL 启动器中的错误”是什么意思?
- neo4j - 在 neo4j 中使用展开和转储数据 - 查询优化
- css - 如何更改角度材料单选按钮组件?
- java - 使用 MockMvc 时是否可以添加断言消息?
- laravel - 如何通过上传更新存储库中的图像?
- javascript - 如何在链接单击时重新渲染组件
- javascript - Javascript .remove() 函数删除第一个 div 但不删除另一个
- php - 设计模式:哪种模式适合 FileProcessor 设计,它可以读取 XLSX 文件,也可以读取包含多个 XLSX 文件的 zip 文件