我測試了它,並發現,有沒有在你的代碼中的任何編譯錯誤......
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