我有一个2d数组java,我需要查看它并检查最大值,然后用数组中有多少个数组来打印它
我本来想这样做,但没用
int[][] rand = new int[][]{
{1, 80, 3, 4, 5},
{13, 199, 80, 8},
{12, 22, 80, 190}
};
int max = rand[0][0];
int count = 0;
for (int i = 0; i < rand.length; i++){
for (int ii = 0; ii < rand[i].length; ii++) {
if (rand[i][ii] > max) {
max = rand[i][ii];
count++;
}
}
}
System.out.println(max + " " + count);
2条答案
按热度按时间0sgqnhkj1#
您没有正确处理计数:
当你找到一个新的最大值,你应该重置
count
到1。您应该检查当前元素是否等于当前最大值,并递增
count
如果是这样的话。输出:
编辑:
修复了第一个元素为最大值的情况。结果是
count
应初始化为0
毕竟,因为循环会重新访问第一个元素,所以如果它是最大值,我们不想再计算两次。7gs2gvoe2#
您可以使用流: