洪水填充不断引发StackOverflowError错误

时间:2019-04-06 05:16:03

标签: java stack-overflow flood-fill

我在洪水填充算法上遇到了麻烦。我不断收到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);

}

0 个答案:

没有答案