• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] While schleife

baacks

New member
Hallo Zusammen ich bin neu hier vielleicht könnt ihr mir hiermit helfen:

HTML:
        function zz () {

var zahl = 100;
while (zahl>0 && (zahl % 2) !=1) {
	alert (zahl);
	zahl -- ;
    }
 
}

Erhalte bei folgender Schleife keine Ausgabe, wisst ihr vielleicht woran es liege könnte bzw. was als Ergebnis rauskommen sollte?

Liebe Grüsse und vielen Dank,
Hannes
 
Zuletzt bearbeitet von einem Moderator:
Hallo Hannes, bitte verwende für JS Code die HTML Tags.
Und zu deiner Frage: Was genau möchtest du denn abfragen? (zahl % 2) !=1 sieht etwas unsicher aus, denn % 2 liefert ja an sich schon 0 oder 1 zurück.
Wenn du nur alle geraden Zahlen haben willst, versuchs mal hiermit (Achtung, man muss 50 mal auf OK klicken):
HTML:
<!DOCTYPE html>
<html>
<head>
	<title>Beispiel Hannes</title>
	<meta http-equiv="content-type" content="text/html;charset=UTF-8">
</head>
<body>
	<script>
		function zz () {
			var zahl = 100;
			while (zahl > 0) {
				if (!(zahl % 2)) alert(zahl);
				zahl -- ;
			}
		}
		zz();
	</script>
</body>
</html>
 
Zuletzt bearbeitet:
Erhalte bei folgender Schleife keine Ausgabe
Bist du dir sicher, dass du die Funktion zz() auch aufgerufen hast?

Aber die Schleife ist komplett witzlos, da nur einmal durchlaufen wird.

PS: != und == sollte man in JS nicht verwenden. Verwende lieber "===" und "!==".
 
Zuletzt bearbeitet:
Danke für eure Antworten die Schleife kommt nicht von mir sondern vom Uni Professor war eine Theorie Frage welche Zahlen ausgegeben werden :).
 
... wisst ihr vielleicht woran es liege könnte ...?

Deine Schleife dürfte genau eine Ausgabe, nämlich "100", erzeugen:
Die While-Schleife läuft solange die Auswertung der Klammer als "true" gewertet wird.
Im ersten Durchlauf (zahl=100) wird Ausdruck "zahl > 0" = true, sowie "100 % 2 != 1" = true, und dementsprechend "true && true" = true.
Im zweiten Durchlauf (zahl=99) wird Ausdruck "zahl > 0" = true, aber "100 % 2 != 1" = false, und dementsprechend "true && false" = false, somit wird die Schleifenausführung beendet.

Denkt - Matthias
 
Zurück
Oben