一段时间以来,我一直在努力解决这个问题,需要一些帮助。我需要找到最小/最大值并将它们打印出来用于多维数组。这是我尝试过的两种方法。
import java.util.*;
class MinMax {
public static void main(String[] args) {
int[][] data = {{3, 2, 5},
{1, 4, 4, 8, 13},
{9, 1, 0, 2},
{0, 2, 6, 3, -1, -8}};
Arrays.sort(data);
System.out.println("Minimum = " + data[0]);
System.out.println("Maximum = " + data[data.length - 1]);
}
}
此版本符合但不运行。
import java.util.*;
class MinMax {
public static void main(String[] args) {
int[][] data = {{3, 2, 5},
{1, 4, 4, 8, 13},
{9, 1, 0, 2},
{0, 2, 6, 3, -1, -8}};
public static int getMaxValue(int[] numbers) {
int maxValue = numbers[0];
for (int i = 1; i < numbers.length; i++) {
if (numbers[i] > maxValue) {
maxValue = numbers[i];
}
return maxValue;
{
public static int getMinValue (int[] numbers) {
int minValue = numbers[0];
for (int i = 1; i < numbers.length; i++) {
if (numbers[i] < minValue) {
minValue = numbers[i];
}
}
return minValue;
}
这个版本在编译时给我带来了一堆错误。任何帮助是极大的赞赏。
原文由 Fancierwhale 发布,翻译遵循 CC BY-SA 4.0 许可协议
好的,我已经修复了您的代码。实际上你的错误是你没有遍历多维数组的所有单元格。
因此,我在 getMinValue/getMinValue 方法中添加了额外的循环并固定了数组元素寻址。