2 回答

TA貢獻(xiàn)2080條經(jīng)驗 獲得超4個贊
看起來你的代碼正在進(jìn)入一個無限循環(huán),因為你對內(nèi)部循環(huán)有一個錯誤的條件。內(nèi)部循環(huán)正在迭代并填滿堆棧內(nèi)存,最終超過 JVM 分配的數(shù)量。
為了避免這種堆棧溢出錯誤并完善帕斯卡三角形的形狀,您只需添加一個額外的循環(huán)并更改內(nèi)部循環(huán)的條件即可。
public static void printTriangle(int n) {
for (int row = 0; row < n; row++) {
//Added Spacer loop for getting perfect shape for pascal triangle
for (int spacer = n; spacer > row; spacer--) {
System.out.print(" ");
}
for (int col = 0; col <= row; col++) {
System.out.print(pascalTriangle(row, col) + " ");
}
System.out.println();
}
}

TA貢獻(xiàn)1872條經(jīng)驗 獲得超4個贊
將第二個循環(huán)更改為循環(huán)訪問 而不是 。rown
public static void printTriangle(int n) {
for (int row = 0; row < n; row++) {
for (int col = 0; col <= row; col++) {
System.out.print(pascalTriangle(row, col) + " ");
}
System.out.println();
}
}
添加回答
舉報