Ja gut
Danke noch einmal!
Mit Eclipse, ich weiĂ auch nie was du mit einem Debugger
meinst.Puh das ist ein wichtiges Werkzeug. Du kannst Punkte im
Quellcode setzen, dort hÀlt die Entwicklungsumgebung an und du
kannst dir anschauen welche Werte die Variablen haben und dann
das Programm Schritt fĂŒr Schritt âdurchlaufenâ. Wurde dir das
noch nie erklÀrt?
Debugger sind wirklich wichtige Werkzeuge, aber ich wĂŒrde auf diesem Level immer empfehlen, den Code zu lesen und zu verstehen und nicht direkt mit dem Debugger reinzugehen.
Ansonsten sieht http://www.vogella.de/articles/EclipseDebugging/arti⊠ganz gelungen aus. Damit kommst Du jedenfalls an die Begrifflichkeit ran und siehst anhand der Screenshots auch beim Lesen schon, was passieren soll.
Hallo, ich binâs nochmal
ich muss jetzt das Programm noch so abÀndern, dass ich die for-Schleife durch eine while-Schleife ersetze. Ich habe schon ein bisschen angefangen, jedoch wird nur die 1. Zeile ausgegeben und ich komme nicht drauf wieso das so ist:
public class Main {
static void schleifenMethode(int a) {
int i = 0;
int j = 0;
while (i
Hallo
Wie groĂ ist denn j bevor die innere Schleife das zweite Mal durchlaufen werden soll?
GrĂŒĂe
Michael
j ist dann wieder 0
Das sehe ich nicht so. Wo setzt du denn j wieder auf 0?
Nachdem die innere Schleife durchlaufen wurde, wird i auf 1 gesetzt und j wird wieder von 0 bis 4 durchlaufen
Wo steht denn das dann in deinem Code? j setzt sich doch nicht von alleine auf 0, das musst du schon irgendwo selber machen.
auĂerhalb der schleife steht doch i=0 und j=0.
Ja, auĂerhalb der Ă€uĂeren Schleife aber da kommt doch das Programm gar nicht mehr hin.
Aber wenn ich in die Schleife i=0 schreibe, kommt eine Endlosschleife.
Wie muss ich das Programm denn abÀndern dass es richtig lÀuft?
Da hast du recht. Die Ă€uĂere Schleife mit i muss auch nur einmal durchlaufen werden. Die innere Schleife mit j muss mehrmals durchlafen werden. Mit ein bisschen Ăberlegung weiĂt du jetzt was du Ă€ndern musst.
Ich hab jetzt schon die ganze zeit ĂŒberlegt und komm leider nicht darauf.
Also gut noch ein kleiner Tipp.
Im Moment lÀuft dein Programm so ab:
Du kommst in die Ă€uĂere Schleife. i wird auf 1 erhöht. Danach wird die innere Schleife 5 mal durchlaufen. Danach ist j = 5. Dann springt das Programm wieder zur Ă€uĂeren Schleife und i wird auf 2 erhöht. Das Programm kommt wieder zur inneren Schleife, mĂŒsste diese eigentlich wieder 5 mal durchlaufen aber merkt, dass j bereits 5 ist. -> springt wieder zur Ă€uĂeren Schleife -> i wird auf 3 erhöht. -> wieder zur inneren Schleife -> j ist immernoch 5 -> springt wieder zur Ă€uĂeren Schleife -> i wird auf 4 erhöht -> wieder zur inneren Schleife -> j ist immernoch 5 -> springt wieder zur Ă€uĂeren Schleife -> i wird auf 5 erhöht -> wieder zur inneren Schleife -> j ist immernoch 5 -> springt wieder zur Ă€uĂeren Schleife -> Abbruchbedingung fĂŒr die Ă€uĂere Schleife ist erfĂŒllt -> return
Jetzt hab ich es endlich herausgefunden, weil ich dank deiner Beschreibung erst wusste, wie das Programm ablÀuft
public class Main {
static void schleifenMethode(int a) {
int i = 0;
int j = 0;
while (i
Jetzt sieht das doch schon besser aus
GrĂŒĂe
Michael
Und danke fĂŒr deine Hilfe.
Bestimmt warst du schon kurz vorm Verzweifeln bei mir