Wie ersetze ich die while- durch for-Schleifen ohne den Programmablauf zu ändern?
Heey,
wie du oben schon lesen kannst, muss ich die while-Schleifen im Programm in for Schleifen umändern ohne den Programmablauf zu ändern.
Ich habe etwas Schwierigkeiten damit und hoffe, dass mir jemand Tipps geben kann, wie ich das zu machen habe.
Danke im Voraus!
Was wird getestet? Eingabe Resultat
ReLoop.main(null); 3 Pyramidenhoehe:
**
****
******
ReLoop.main(null); 5 Pyramidenhoehe:
**
****
******
********
**********
public class ReLoop {
public static void main(String[] args) {
int height = Terminal.askInt("Pyramidenhoehe:\n");
int i = 1;
while(i <= height) {
int j = 0;
while(j < height-i) {
Terminal.print(" ");
j++;
}
j = 0;
while(j < i*2) {
Terminal.print("*");
j++;
}
Terminal.print("\n");
i++;
}
}
}
3 Antworten
public static void main(String[] args) {
int height = Terminal.askInt("Pyramidenhoehe:\n");
for(int i=1;i<=height;i++){
int j = 0;
for(int j=0;j<height-1;j++)Terminal.print(" ");
for(int j=0;j<i*2;j++)Terminal.print("*");
Terminal.print("\n");
}}
Die main-Methode muss natürlich noch in einer Klasse stehen, so wie in Deinem Beispiel in der Klasse ReLoop.
Ansonsten teste es, wenn es funktioniert, dann passt es so. Ich habe es nicht getestet. Der Code sollte eigentlich fertig sein, ist aber wie gesagt ungetestet.
Du kannst für gewöhnlich ne while-Schleife der Form
int i = 0;
while(i <= 27)
{
// Do some stuff
i++
}
durch die folgende for-Schleife ersetzen:
for(int i = 0; i <= 27; i++)
{
// Do some stuff
}
Eine While-Schleife der Form:
int i = 0;
while(i < 10) {
...
i++;
}
lässt sich zu einer For-Schleife dieser Form:
for(int i = 0; i < 10; i++){
...
}
umwandeln.
Das musst du jetzt nur noch auf deinen Fall anwenden ^^.
Wenn du dabei noch Probleme haben solltest schreib gerne noch mal einen Kommentar.
LG Jesaja
Danke dir !
Eine Frage hätte ich aber und zwar, ist es dann so fertig, sowie du es aufgeschrieben hast oder muss ich noch auf was achten oder hinzufügen?