這是方法的代碼:遞歸方法打印陣列
public static void printMatrix(int[][] m, int i, int j) {
if (i == m.length ||j==m.length) {
System.out.println();
} else {
System.out.print("[" + m[i][j] + "]");
printMatrix(m, i, j++);
printMatrix(m, i++, j);
}
}
我不知道爲什麼它只是打印陣列,直到StackOverflow的錯誤第一的位置。
感謝您的幫助。
嘗試使用調試器。瀏覽代碼,看看你的停止事件是否發生。 –
如果長度太大,那麼函數調用過多? – Sage
遞歸調用沒有任何突破點,所以它甚至沒有進入第二個函數。它一次又一次地調用第一個,直到沒有任何東西離開,然後是一些。 –