我在洪水填充算法上遇到了麻烦。我不断收到StackOverflowError错误,我不知道为什么。有时它起作用,有时却不起作用。我的代码有问题吗?
谢谢!
我尝试在图像中填充随机的东西,这似乎适用于随机情况,但有时不行。
public void fill(int x, int y, Color c1, Color c2){
if(x < 0) return;
if(y < 0) return;
if(x >= img.getWidth()) return;
if(y >= img.getHeight()) return;
if(c1.getRGB()==c2.getRGB()) return;
if(grid[x][y].getRGB()!=c1.getRGB())return;
grid[x][y] = c2;
fill(x+1,y,c1,c2);
fill(x,y+1,c1,c2);
fill(x,y-1,c1,c2);
fill(x-1,y,c1,c2);
}