java问题求助。求一个二维数组中的最大值

2024-12-02 14:05:46
推荐回答(3个)
回答1:

class max {
    public int maxValue(int[][] array) {
        int i = 0, j = 0;
        int max = array[0][0];
        for (; i < array.length; i++) {
            j = 0; // 这里是关键
            for (; j < array[i].length; j++) {
                if (max < array[i][j]) {
                    max = array[i][j];
                }
            }
        }
        return max;
    }
}

每次都需要重新定义一下j =0;

否则i=0 的时候。里面的for 循环已经j= 5了。然后i =1 的时候。j=5.都进不去里面的for 循环。

需要重新定义一下。

回答2:

import java.util.Scanner;

class max {
public int maxValue(int[][] array) {
int i = 0, j = 0;
int max = array[0][0];
for (; i < array.length; i++) {
for (j = 0; j < array[i].length; j++) {  //j需要重置为0
if (max < array[i][j]) {
max = array[i][j];
}
}
}
return max;
}
}

public class _7_5 {
public static void main(String[] args) {
max m = new max();
int[][] array = new int[3][5];
System.out.println("请输入一个3*5的整型数组:");
Scanner input = new Scanner(System.in);
array[0][0] = input.nextInt();
array[0][1] = input.nextInt();
array[0][2] = input.nextInt();
array[0][3] = input.nextInt();
array[0][4] = input.nextInt();
array[1][0] = input.nextInt();
array[1][1] = input.nextInt();
array[1][2] = input.nextInt();
array[1][3] = input.nextInt();
array[1][4] = input.nextInt();
array[2][0] = input.nextInt();
array[2][1] = input.nextInt();
array[2][2] = input.nextInt();
array[2][3] = input.nextInt();
array[2][4] = input.nextInt();
int max = m.maxValue(array);
System.out.println("数组最大值为:" + max);
input.close();
}
}

回答3:

for(;ifor(;jif(max < array[i][j]){
max = array[i][j];
}
}
j = 0;//加上这个,循环玩j要从头开始
}