Kopfschleife-While (ggT)

  • Hallo :D

    ich hab hier ein Programm für ggT geschrieben aber hab dazu paar Fragen!

    Also ich hab das so verstanden, dass der Ausdruck in Klammern nach WHILE wird bewertet (true oder false) und wenn das true ist, wird die Anweisung in der Geschweifelten Klammern ausgeführt! ... usw.. aber irgendwann wird die Bewertung false ergeben?? ... was dann??
    Also die Anweisung wird nicht ausgeführt aber Welchen Wert gibt er denn aus?? .... Was rechnet er denn da aus??




    //javac ggT.java
    //java ggT
    //ggT von 8 und 10 ist 2

    Danke :thumb:
    ciao :zwinker:

  • Zitat von freakjan

    Also ich hab das so verstanden, dass der Ausdruck in Klammern nach WHILE wird bewertet (true oder false) und wenn das true ist, wird die Anweisung in der Geschweifelten Klammern ausgeführt! ... usw.. aber irgendwann wird die Bewertung false ergeben?? ... was dann??


    dann geht er einfach nach der schließenden { weiter, in deinem fall bei System.out.println...

    Zitat von freakjan

    Also die Anweisung wird nicht ausgeführt aber Welchen Wert gibt er denn aus?? .... Was rechnet er denn da aus??


    er rechnet "gar nichts" aus, er geht einfach nach dem schleifenrumpf weiter (siehe oben).

    *** Ich würde gern die Welt verändern, aber Gott gibt mir den Quelltext nicht ***

  • mmhh... :rolleyes:

    ja OK du hast hier geschrieben:

    Zitat

    // ### hier würde er weitergehen, wenn die bedingung in while = false
    // z.b. mit x=10, y=10 würde er sofort hier her kommen
    System.out.println ("ggT von " + g + " und " + t + " ist " + x);[/b]



    das bedeutet, wenn der Ausdruck false ist, bekomme ich als Ergebnis:

    ====> ggT von 10 und 10 ist 10

    Also der Wert in dem Register x wird ausgegeben??? :confused:

    Danke :thumb:
    ciao :zwinker:

  • Nein es würde

    "ggt von 10 und 8 ist 2" stehen. g und t hast du mit 10 und 8 initialisiert und sind deswegen keine referenz auf x bzw. auf y, was du vielleicht vermutest.
    x jedoch verändert seinen Wert in der Schleife, welche du solange ausführst, bis x gleich y wird.

    640K ought to be enough for anybody. :eek2:

  • ich wollte aber wissen, wenn beide Werte gleich sind also FALSE!!

    Danke :thumb:
    ciao :zwinker:

  • von 10 und 10 ist 2 wird rauskommen, stimmt natürlich net, aber dortstehn sollts.

    Du hast doch das Prog auf deinem Rechner, wie wärs, wenn dus einfach ausführst, dann siehst eh, was er ausgibt.

    In einen FBO rendern ist wie eine Schachtel Pralinen - man weiß nie, was man kriegt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!