我测试了一下,发现你的代码没有任何编译错误...
for(int j=0; j<a2d[a2d.length-1].length; j++){//
设长度为 a2d[10][10]
关于声明a2d[a2d.length-1].length ,is equal a2d[10-1].length ,is equal a2d[9].length=>10
你的算法对我来说很好,我没有发现任何错误
这是我的测试代码
public class A2dTest {
public static void main(String[] arr) {
int[][] a2d = new int[10][10];
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
a2d[i][j] = (int) (Math.random() * 100) + 1000000;// all positives
}
}
for (int i = 0; i < a2d.length; i++) {
int nPositive = 0;
for (int j = 0; j < a2d[a2d.length - 1].length; j++) {
if (a2d[i][j] > 0) {
nPositive = a2d[i][j];
System.out.println("nPositive=" + nPositive);
}}
}
}
}