Was könnt ehier eine endlos-Schleife verursachen?
-
public final void checkTriangleStatus() { if (hasTriangles() != true) return; int rest = 3%triangles.size(); while (rest > 0) { Point3D last = (Point3D) triangles.getLast(); Point3D n = new Point3D(last.point.x++, last.point.y++, last.point.z++); triangles.add(n); rest = 3%triangles.size(); } System.out.println("Triangles...OK"); }
Hi, also was könnte hier eine endlos-Schleife verursachen? Ich will bewirken, dass die Anzahl der Liste der Dreiecke immer ein Vielfaches von 3 ist und wenn dem nicht so ist, sollel eben entsprechend neue Punkte hinzugefügt werden.
Aber irgendwie entsteht hier eine endlos-Schleife die dann nach einer gewissen Zeit eine OutOfMemoryException verursacht.
-
Müsste es nicht rest = triangles.size()%3; statt rest = 3%triangles.size(); heißen? Weil wenn triangles.size ein Vielfaches von 3 sein soll, dann muss triangles.size durch drei teilbar sein und nicht andersrum.
(könnte sein, dass ich voll daneben liege, da ich grad mit qualmendem Kopf nach Hause gekommen bin)
-
nee du hast völlig recht daher auch endlos schleife weil (3 % größer3) wird immer 3 ergeben und damit nie die abruchbedingung schließen (rest>0)
-
Ok, jetzt klappt es. Danke!