Servus,
bei folgendem Code, frage ich mich ob beim ersten Durchlauf, der zweite if Block noch ausgeführt wird. Die Klasse hat ein Attribut, die printHull-Flag. Die Methode wird aufgerufen, da die Flag erst auf false steht, wird der erste if-Block rangenommen und darin die Flag auf true gesetzt. Dann kommt der rekursive Aufruf. Arbeitet die Virtual Machine erst noch den Methodenrest ab, oder wird oben wieder neu in die Methode eingestieren, dann festgestellt, dass die die Flag auf true ist und dann eben der zweite if-Block zum ersten abgearbeitet - dieser Fall ist der den ich vermute, aber ich muss noch ein paar NullPointerExceptions ausmerzen und da will ich alles mögliche ausschließen.
Danke vorab.
bei folgendem Code, frage ich mich ob beim ersten Durchlauf, der zweite if Block noch ausgeführt wird. Die Klasse hat ein Attribut, die printHull-Flag. Die Methode wird aufgerufen, da die Flag erst auf false steht, wird der erste if-Block rangenommen und darin die Flag auf true gesetzt. Dann kommt der rekursive Aufruf. Arbeitet die Virtual Machine erst noch den Methodenrest ab, oder wird oben wieder neu in die Methode eingestieren, dann festgestellt, dass die die Flag auf true ist und dann eben der zweite if-Block zum ersten abgearbeitet - dieser Fall ist der den ich vermute, aber ich muss noch ein paar NullPointerExceptions ausmerzen und da will ich alles mögliche ausschließen.
Danke vorab.
Java:
private static void computeBruteForceConvexHull()
{
// Abgleich der Collections
// weniger als 2 Punkte in der Collection jobaDrawPanelPoints oder printHull flag auf false
if ( JobaDrawPanel.jobaDrawPanelPoints.size() < 2 || JobaDrawPanel.printHull == false )
{
JobaDrawPanel.printHull = true;
System.out.println("Zweig 'mehr als 2 Punkte' der Methode computeBruteForceConvexHull wurde einmal ausgeführt.");
JobaDrawPanel.computeBruteForceConvexHull(); // Rekursion // NullPointerException
}
if ( JobaDrawPanel.printHull == true )
{
// Berechnungsvorgang computeHull
// Testspielerein
// einfach mal alle Punkte ins ConvexHull uebernehmen
for ( Point convexHullPoint : JobaDrawPanel.jobaDrawPanelPoints )
{
// einfach mal mit allen bestückt
Zuletzt bearbeitet von einem Moderator: