10. Codetransformation (while)
10. Codetransformation (while)Transformieren sie die do-while Schleife der Methode in gleichwertige while-Schleifen und for-Schleifen.
Die main(), nurWhile() und forSchleife() Methoden erlauben Ihnen das Testen der Lösung
public class CodeTrans1 { /** * main Methode ist die Testinfrastruktur. Sie ist nicht direkt relevant zum * lösen der Aufgabe * * @param args Optionen werden nicht benutzt */public static void main(String[] args) {
int b = 3;
System.out.println("Erster Durchlauf");
System.out.println("Vorgabe:");
doWhile(b);
System.out.println("nurWhile():");
nurWhile(b);
System.out.println("forSchleife():");
forSchleife(b);
System.out.println("Zweiter Durchlauf");
b = 0;
System.out.println("Vorgabe:");
doWhile(b);
System.out.println("nurWhile():");
nurWhile(b);
System.out.println("forSchleife():");
forSchleife(b);
}
/**
* Die Vorgabe der Aufgabe
* @param b
*/
public static void doWhile(int b) {
int i = 0;
String s;
if (b >= 0) { // b ist immer gößer Null!
do {
int k = i * 5;
s = (i % 2 == 0) ? "gerade" : "ungerade";
System.out.println("start():" + k + " ist " + s);
i++; // Schleifeninkrement
} while (i < b);
}
}
public static void nurWhile(int b) {
int i = 0;
String s;
if (b >= 0) { // b ist immer gößer Null!
// Hier die while Schleife implementieren
}
}
public static void forSchleife(int b) {
int i = 0;
String s;
if (b >= 0) { // b ist immer gößer Null!
// Hier die for Schleife implementieren
}
}
}
Niveau | 1 |
Schwierigkeitsgrad | mittel |
Zeit |
12 Minuten |
Die Antwort ist bei der nächsten Frage zu finden (URL rechts unten)
Antwort zu Frage 9: Unterschiede zwischen dowhile-Schleifen und for-, while-Schleifen
Eine do-while Schleife wird immer mindestens einmal durchlaufen. Sie ist keine abweisende Schleife.
- 4413 views
For Schleife
Fehlen bei der for-Schleife nicht die geschweiften Klammern {}?
Gute Überlegung...
Eine for Schleife führt immer einen Block aus. Der Block kann aus mehreren Befehlen in geschweiften Klammern bestehen...
... oder aus einem einzigen Befehl. Die zweite Option wurde hier verwendet.
In solchen Fällen ist immer die Java Spezifikation zur for-Schleife als finale Authorität hinzu zuziehen. :-)
Fibunacci Feld
Das Feld wird nicht ganz durch iteriert, oder ?
Das Feld ist k+1 lang, es wird aber nur bis k durchlaufen und Werte zugewiesen.
Naja, schon irgendwie
Das Feld ist k+1 Elemente groß. Das erste Element steht auf Position 0 das letzte auf Position k. k ist dann auch der letzte Durchlauf der Schleife.
Die Überlegung war gut. Die Frage ist aber was geschieht mit dem Element auf Position 0?