loop pausieren für eine bestimmte Anzahl?

kalls

Neues Mitglied
Ich soll eine Methode programmieren, die zwei int annimmt: int x und int years.
Dann soll sich x nach folgenden Bedingungen weiterentwickeln:
1) x ist gerade Zahl und keine Zweierpotenz: x = x / 2;
2) x ist gerade Zahl und Zweierpotenz: x = 1;
3) x ist ungerade Zahl und keine vielfache von 7: x = x * 3;
4) x ist ungerade Zahl und Vielfache von 7: x bleibt gleich, für 7 Jahre lang!
Der Prozess soll years-mal durchgeführt werden und danach den finalen x wert ausgeben.

Ich verstehe nicht wie ich Fall 4) programmieren kann? Wenn ich mich in einer for loop befinde, der years-mal läuft, gibt es eine Möglichkeit den loop 7 mal zu pausieren/umgehen?

hier ist mein Code:
Java:
for (int i = 0; i < years; i++) {
            if (x % 2 == 0) { //filtert gerade Zahlen
                if (//hier Bedingung für Zweierpotenz
                ) {
                    x = 1;
                }
                else {
                    x = x / 2;
                }
            }
            else {
                if (x % 7 != 0) {
                     x = x * 3;
                }
                else {
                    x = x + 0;
                }
            }
        }
        return x;
    }
 
In dem Code hast Du eine Schleife mit den Jahren. Wenn der Wert für 7 Jahre unverändert bleiben soll, dann kannst Du ja sagen, mit welchem Wert die Schleife weiter gehen soll.

Dabei aber beachten, dass nach jedem Durchgang die Zählvariable i um eins erhöht wird.

Paar generelle Hinweise:
a) Eine Zählvariable innerhalb der Schleife ebenfalls anzupassen geht, aber ist ein schlechter Stil.
b) Variablen sollten vernünftig benannt werden. i besagt nichts. Da sollte man besser etwas nehmen wie currentYear oder so. Dann wird das mit dem Code auch verständlicher.
 

Zurück
Oben