2 回答
TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
看起來(lái)你的代碼正在進(jìn)入一個(gè)無(wú)限循環(huán),因?yàn)槟銓?duì)內(nèi)部循環(huán)有一個(gè)錯(cuò)誤的條件。內(nèi)部循環(huán)正在迭代并填滿(mǎn)堆棧內(nèi)存,最終超過(guò) JVM 分配的數(shù)量。
為了避免這種堆棧溢出錯(cuò)誤并完善帕斯卡三角形的形狀,您只需添加一個(gè)額外的循環(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)驗(yàn) 獲得超4個(gè)贊
將第二個(gè)循環(huán)更改為循環(huán)訪(fǎng)問(wè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();
}
}
添加回答
舉報(bào)
