2 回答
TA贡献2080条经验 获得超4个赞
看起来你的代码正在进入一个无限循环,因为你对内部循环有一个错误的条件。内部循环正在迭代并填满堆栈内存,最终超过 JVM 分配的数量。
为了避免这种堆栈溢出错误并完善帕斯卡三角形的形状,您只需添加一个额外的循环并更改内部循环的条件即可。
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贡献1872条经验 获得超3个赞
将第二个循环更改为循环访问 而不是 。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();
}
}
添加回答
举报