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 循环。
需要重新定义一下。
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();
}
}
for(;i
max = array[i][j];
}
}
j = 0;//加上这个,循环玩j要从头开始
}