Lernpfad:Einführung in Git/8: Unterschied zwischen den Versionen
Jneug (Diskussion | Beiträge) |
Jneug (Diskussion | Beiträge) |
||
| Zeile 29: | Zeile 29: | ||
# Suche Zeile 18 und klicke einmal links auf die Zeilennummer. Ein rotes Stoppschild erscheint. | # Suche Zeile 18 und klicke einmal links auf die Zeilennummer. Ein rotes Stoppschild erscheint. | ||
# Starte die Methode erneut und beobachte was passiert. Analysiere das Debugger-Fenster und seine Funktion. | # Starte die Methode erneut und beobachte was passiert. Analysiere das Debugger-Fenster und seine Funktion. | ||
# Probiere die Buttons am unteren Rand des Debugger-Fensters aus. Behalte dabei auch den Editor mit dem Programmcode im Auge. Notiere dir Stichpunkte zu deinen Vermutungen, wie der Debugger funktioniert. | |||
# Versuche die Endlosschleife zu beheben und die Methode zu korrigieren. Du kannst die Korrektheit mit der entsprechenden Testmethode prüfen. | |||
{{Aufgabe:End}} | {{Aufgabe:End}} | ||
[[Datei:BlueJ Debugger.png|center|700px]] | [[Datei:BlueJ Debugger.png|center|700px]] | ||
{{Lösung:Start}} | |||
<syntaxhighlight lang="Java" line="1" line start="16" highlight="3,7,8"> | |||
public int addEvenNumbers( int pUpperBound ) { | |||
int sum = 0, i = 1; | |||
while( i > pUpperBound ) { | |||
// Nur gerade Zahlen addieren | |||
if( i%2 == 0 ) { | |||
sum += i; | |||
} | |||
i++; | |||
} | |||
return sum; | |||
} | |||
</syntaxhighlight> | |||
{{Lösung:End}} | |||
Version vom 23. August 2020, 22:23 Uhr
In Gitea findest du ein Projekt mit dem Namen "oop2". Erstelle dir einen Fork und klone das Repository.
Systematische Fehlersuche
Bei der Suche nach Fehlern in deinem Programmcode gibt es verschiedene Vorgehensweisen. Wichtig ist es, dabei systematisch vorzugehen und nicht einfach nur "Trial and Error" - also "Versuch und Irrtum" - anzuwenden.
Die Fehlersuche ist besonders schwierig, wenn das Programm kompiliert und startet - also syntaktisch korrekt ist, aber nicht die gewünschten Ergebnisse liefert - also einen semantischen Fehler enthält.
Überleg dir erst einen Plan, wie du vorgehen möchtest. Dazu musst du Vermutungen anstellen, wo im Programm der Fehler liegen könnte.
- Öffne die Klasse
Calculatorund analysiere ihren Quelltext. - Suche die Methode
int addEvenNumbers(int)und lies ihre Beschreibung im Methoden-Kommentar. Die Methode enthält zwei Fehler. Probiere sie aus.
Die Methode bleibt in einer Endosschleife hängen. Du kannst sie mit einem KLick auf den Pfeil unten rechts beenden.
Den Debugger benutzen
Für die systematische Fehlersuche steht dir ein mächtiges Werkzeug zur Verfügung: Der Debugger. Mit ihm kannst du das Programm zu beliebigen Zeitpunkten anhalten und dir seinen Zustand - also die Werte der Variablen - anzeigen lassen.
- Suche Zeile 18 und klicke einmal links auf die Zeilennummer. Ein rotes Stoppschild erscheint.
- Starte die Methode erneut und beobachte was passiert. Analysiere das Debugger-Fenster und seine Funktion.
- Probiere die Buttons am unteren Rand des Debugger-Fensters aus. Behalte dabei auch den Editor mit dem Programmcode im Auge. Notiere dir Stichpunkte zu deinen Vermutungen, wie der Debugger funktioniert.
- Versuche die Endlosschleife zu beheben und die Methode zu korrigieren. Du kannst die Korrektheit mit der entsprechenden Testmethode prüfen.
public int addEvenNumbers( int pUpperBound ) {
int sum = 0, i = 1;
while( i > pUpperBound ) {
// Nur gerade Zahlen addieren
if( i%2 == 0 ) {
sum += i;
}
i++;
}
return sum;
}

