Durch den Konstruktor gilt zunächst energie = 4. Beim Aufruf von rover.laden(true) erhält der Parameter stationGefunden den Wert true. Entscheide nun, welcher Zweig ausgeführt wird.
energie = 4
rover.laden(true)
stationGefunden
true
Da stationGefunden wahr ist, wird return energie + 3 ausgeführt. Setze für energie den im Konstruktor gespeicherten Wert ein.
return energie + 3
energie
Verfolge zuerst, welche Attributwerte beim Konstruktoraufruf gesetzt werden. Ordne danach die Argumente des Methodenaufrufs den Parametern zu und führe die Methode schrittweise aus. Beachte besonders, welcher Wert mit return zurückgegeben und ergebnis zugewiesen wird.
return
ergebnis
Um den Endwert einer Variablen zu bestimmen, wird der tatsächlich ausgeführte Code Schritt für Schritt verfolgt. Notiere nach jeder Zuweisung den neuen Wert.
if
else
switch
case
break
Der zuletzt zugewiesene Wert von ergebnis ist die gesuchte Lösung.
Bestimme den Wert von ergebnis am Ende des Codeabschnitts.
class Roboter { int energie; Roboter(int startenergie) { energie = startenergie; } int laden(boolean stationGefunden) { if (stationGefunden) { return energie + 3; } else { return energie; } } } // Programm Roboter rover = new Roboter(4); int ergebnis = rover.laden(true);
Nach vollständiger Ausführung des Codes hat ergebnis den Wert: