Java while schleife?- hilfe bei aufgabe?
hallo könnte mir bitte jemand helfen ? bzw erklären
Die folgende while-Schleife soll die Ausgabe 1 4 9 16 25 erzeugen. Ergänzen Sie den Programmcode entsprechend.
int i = 1;
while(____________) // Bedingung
{ System.out.print(____________ + " "); // Ausgabe
____________; // Inkrement
}
2 Antworten
Ich hoffe das hilft dir weiter:
int i = 1;
while(i<26){ //während i kleiner als 26 ist
System.out.print(i*i + " "); //gebe i^2 aus
i++; //erhöhe i um 1
}
Was ist die Aufgabe (genau)?
Gebe die Zahlen 1 4 9 16 25 aus.
Die einfachste Lösungsmöglichkeit:
System.out.println("1 4 9 16 25");
So war das natürlich nicht gemeint, es ging darum, dass es fünf aufeinander folgende Quadratzahlen sind. (Bitte formuliere deine Fragen klarer und achte darauf, dass die Formatierung des Codes stimmt!)
Also:
- Tue 5 Mal:
- den Index (die Zahl, die aussagt, das wievielte Mal wir es gerade tun)
- zum Quadrat aus
Lies dir diesen Link bitte durch: https://www.gutefrage.net/frage/wie-schreibt-man-eine-methode-filter-welche-alle-werte-eines-feldes-a-ausgibt-die-groesser-als-n-sindmit-systemoutprintln?foundIn=list-answers-by-user#answer-239659961
Da habe ich schon mal erklärt, was Java für Schleifen kennt und was der Unterschied ist.
Erste Tatsache: Wir machen etwas eine feste Anzahl oft. (In verständlichem deutsch: wir wissen, wir oft wir es tun): 5 Mal. Das heißt: es ist Unsinn, eine While-schleife zu nehmen. Eine For-schleife ist viel passender.
For-Schleifen funktionieren so:
for(int index=0; index<soOftSollEsGetanWerden; index++) {
//Hier kommt das, was getan werden soll
}
Was tut das?
1. Einen int (primitiver ganzzahliger Datentyp) namens index erstellen, diesem den Wert 0 zuweisen
2. Die Bedingung, die für erneutes ausführen der Schleife wahr sein muss: index muss kleiner als eine von dir gewählte Zahl sein.
3. Ein Befehl, der jede Runde ausgeführt wird. index++ bedeutet, dass bei jeder Ausführung +1 gerechnet wird.
Was muss jetzt jedes Mal getan werden?
Wir müssen die Quadratzahl von index ausgeben.
Also so?
for(int index=0; index<5; index++) {
System.out.println(index*index);
}
Das Ergebnis sieht folgendermaßen aus:
0
1
4
16
Und? Hast du schon erraten, wo der Fehler liegt?
Ich habe dir 90% deiner Hausaufgabe gemacht, nach dem Rest kannst du jetzt gucken, aber ich helfe natürlich auch gerne weiter.