Problem Javascript While-Schleife - Hilfe!!!

Claudia19
Hallo!
Ich bin ganz neu hier weil ich einfach nicht mehr weiter weiß. Ich soll für die Schule ein Array anlegen mit sechs Lottozahlen, das war ja auch kein Problem. Ausgegeben werden sollen die Zahlen mittels einer Schleife, die folgendes Ergebnis produziert:

Die aktuellen Lottozahlen lauten: 9, 15, 33, 34, 42, 46.

Also alle Zahlen auch mit Komma getrennt, am Schluss ein Punkt. Jetzt bin ich auch schon relativ weit gekommen, aber da ich wie gesagt noch blutige Anfängerin bin, hab ich bei der Bedingung ein Brett vorm Kopf, also: while (i !=?). Auch am Ende bei else stecke ich fest, da ich nicht weiß, ob ich das für jeden Wert im Array eingeben muss oder ob da, wo jetzt das Fragezeichen steht, nur ein einziger Wert reinmuss. Ich hoffe, das der Rest wenigstens richtig ist, der hat mich nämlich schon ein paar Stündchen gekostet

Bitte werft mal einen Blick drauf und sagt mir, ob ich einen Denkfehler habe und welche Bedingung das denn jetzt sein muss, ich komm einfach nicht drauf. Das würde mir echt sehr weiterhelfen, ich möchte das endlich schnallen! Danke & Gruß, Claudia

Und hier nun die Kopie meines Codes:

Zitat:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Lottozahlen - Aufgabe 4</title>
<script language="JavaScript">
<!--
var lotto = new Array(6);
lotto[0] = 9 ;
lotto[1] = 15 ;
lotto[2] = 33 ;
lotto[3] = 34 ;
lotto[4] = 42 ;
lotto[5] = 46 ;
// -->
</script>
</head>
<body>
Die aktuellen Lottozahlen lauten:
<script language="JavaScript">
<!--
var lotto
while (i !=?)
{ if (i==5) document.write(lotto[5] + ".");
else document.write (lotto[?]+",");
i = lotto ;
}
//-->
</script>
</body>
</html>
Lexx
hab zwar bisher nur mit Java programmiert und keine Javascripts geschrieben, aber das grundsätzliche müßte ja gleich sein.

prinzipiell hab ich arrays mit fester größe mit ner for-schleife ausgegeben. das dürfte sicher funktionieren, da dein array die breite 6 nicht überschreitet.

wäre dann:
Zitat:

for (i=0; i<5;i++)
/*ausgabebefehl*/ (lotto[i]+", ");
/*ausgabebefehl*/ (lotto[5]+".");



bei ausgabebefehl müßte dann das document.write hin, da kenn ich mich aber nicht aus, ob das fehlerfrei läuft. rein in java (da hatte ich die ausgabe mit System.out.print) müßte es soweit funktionieren.
NASA
Vorab:
Zum weiteren Studium empfehle ich www.selfhtml.net
Tolle Seite auch mit vielen Erläuterungen und Codingbeispielen, z.B. Schleifen:
http://www.selfhtml.net/javascript/sprache/schleifen.htm

Gibts auch als Offline-Version zum runterladen.

Zum Deinem Hausaufgaben-Problem hab ich mal 2 Lösungen, die sich in der Schleife unterscheiden. Wichtig: i ist die sogenannte Laufvariable, die muss verändert werden, und die steuert zum einen die Schleifendurchläufe/die Abbruchbedingung und zum anderen, welches Array-Element (sprich Lottozahl) Du selektierst.

Mit der While-Schleife so:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Lottozahlen - Aufgabe 4</title>
<script language="JavaScript">
<!--
var lotto = new Array(6);
lotto[0] = 9 ;
lotto[1] = 15 ;
lotto[2] = 33 ;
lotto[3] = 34 ;
lotto[4] = 42 ;
lotto[5] = 46 ;
// -->
</script>
</head>
<body>
Die aktuellen Lottozahlen lauten:
<script language="JavaScript">
<!--
var i = 0
while (i != 6)
{ if (i==5) document.write(lotto[5] + ".");
else document.write (lotto[i]+",");
i = i + 1 ;
}
//-->
</script>
</body>
</html>


Oder mit for:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Lottozahlen - Aufgabe 4</title>
<script language="JavaScript">
<!--
var lotto = new Array(6);
lotto[0] = 9 ;
lotto[1] = 15 ;
lotto[2] = 33 ;
lotto[3] = 34 ;
lotto[4] = 42 ;
lotto[5] = 46 ;
// -->
</script>
</head>
<body>
Die aktuellen Lottozahlen lauten:
<script language="JavaScript">
<!--
for(var i = 0; i < 6; i++)
{ if (i==5) document.write(lotto[5] + ".");
else document.write (lotto[i]+",");
}
//-->
</script>
</body>
</html>