這組代碼產生了由於無限遞歸導致的堆棧溢出錯誤(至少我認爲是這樣)。我一直在盯着這段代碼很長一段時間,不知道錯誤發生在哪裏。如果有人能夠幫助指出我爲什麼會遇到這樣的錯誤,那就太好了。代碼中的堆棧溢出錯誤
public void DrawValues(Graphics g, Graphics2D g2, int x, int y, int a, int b){
if (b>8){
b = 0;
a++;
x = 61;
y+=66;
}
if (a==8 && b==8){
g.drawString(String.valueOf(Solver.Rows[a][b]), x, y);
}
else{
g.drawString(String.valueOf(Solver.Rows[a][b]), x, y);
DrawValues(g,g2, x+66, y, a, b++);
}
}
它可能會幫助聲明,排在0
你不會在任何地方你的代碼改變'B',你需要'B'等於'8'爲您的代碼來完成。 –