我测试了它,并发现,有没有在你的代码中的任何编译错误......
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);
}}
}
}
}
什么是编译错误?正如其他人所说的,对你的问题更详细。 – 2013-03-03 05:14:11
我想你的意思是你的内循环计数器的'a2d [i] .length'。此外,数组数组中元素的数量不是各个元素的值。 – 2013-03-03 05:15:12
更多提示: ⇒您确定要使用: - ⇒您可能想使用除1之外的其他数字 – 2013-03-03 05:19:54