Klar der Code ist an sich sicherlich ne Performancekatastrophe und an die Richtlinien möchte ich gar nicht erst denken^^
Okay heißt er hängt unten irgendwann fest und kommt nicht mehr raus? Wie kann ich das denn auffangen, stehe gerade auf nem ziemlich störrischen Schlauch 
Danke, dass du dir die if-Bedingungen dann doch noch angesehen hast. Ich verstehe nicht ganz, was an check1 und check5 falsch sein soll. Kannst du das bitte noch einmal erläutern?
Den stack.add() hab ich jetzt umgesetzt, aber ich glaub, das macht auch nicht viel mehr Sinn oder? Wo kommt er denn eigentlich im Programm hin?
[code=Java]private static void choseNext() {
try {
if (check1) {
System.out.println("Check1");
x = x + 2;
y = y + 1;
stack.add(new Point(x,y));
berechne();
} else[/code]
Danke für die Hilfe, Rekursion liegt mir nicht sonderlich wie man sieht.