Hallo zusammen,
ich habe ein Problem, das ich schon seit gestern nicht lösen kann. Ich habe eine rekursive Methode, bei deren Ausführung immer den Fehler StackOverflowError ausgegeben wird. Ich habe schon versucht die Methode iterativ zu implementieren, wobei ich für die Speicherung von x-, y-Koordinaten ArrayList benutzte. Bei der Ausführung wurde dann OutOfMemoryException ausgegeben. Ich weiß nicht mehr, wie ich die Methode implementieren sollte, um diese Fehler zu vermeiden. Vielleicht könntet ihr mir ein paar Tipps dafür geben?
Vielen, vielen Dank im Voraus
mfg, melena
ich habe ein Problem, das ich schon seit gestern nicht lösen kann. Ich habe eine rekursive Methode, bei deren Ausführung immer den Fehler StackOverflowError ausgegeben wird. Ich habe schon versucht die Methode iterativ zu implementieren, wobei ich für die Speicherung von x-, y-Koordinaten ArrayList benutzte. Bei der Ausführung wurde dann OutOfMemoryException ausgegeben. Ich weiß nicht mehr, wie ich die Methode implementieren sollte, um diese Fehler zu vermeiden. Vielleicht könntet ihr mir ein paar Tipps dafür geben?
Code:
public void methode(int x, int y) {
if ((x >= 0) && (x < image.getWidth())&& (y >= 0) && (y < image.getHeight())
&& colorCheck(x, y)) {
labelArray[x][y] = FOREGROUND;
if (labelArray[x + 1][y] == BACKGROUND) {
methode(x + 1, y);
}
if (labelArray[x][y + 1] == BACKGROUND) {
methode(x, y + 1);
}
if (labelArray[x][y - 1] == BACKGROUND) {
methode(x, y - 1);
}
if (labelArray[x - 1][y] == BACKGROUND) {
methode(x - 1, y);
}
}
}
Vielen, vielen Dank im Voraus
mfg, melena
Zuletzt bearbeitet: