Informatik9
Kontrollsturkturen in Java
Hier findet ihr Lösungen zu den Kontrollstrukturen in Informatik. Ihr könnt den Text kopieren und in eure Klassen in BlueJ einfügen. Denkt auch daran den Methodenkopf zu kopieren oder selbr in BlueJ hinzuzufügen.
bedingte Anweisungen (if-else)
void istNull (int a) { if(a==0){ System.out.println(a+" ist null!"); } }
void groesserKleinerNull (int a) { if(a>0) { System.out.println(a+ " ist größer 0."); } else { if (a<0){ System.out.println(a+ " ist kleiner 0."); } else //a ist nun weder <0 noch >0. Also muss gelten a=0. { System.out.println(a+ " ist null."); } } }
Wiederholung mit fester Anzahl (for)
void potenz2hoch(int n) { int ergebnis = 1; for(int i = n; i>0;i = i - 1){ // statt i = i-1 kann man i-- schreiben. ergebnis = ergebnis*2; } System.out.println("2 hoch "+ n+" ist "+ergebnis); }
void von1bis10() { for(int i = 1; i<=10;i++){ // i++ bedeutet i = i + 1,also i wird um 1 erhöht. System.out.println(i); } }
Aufgabe
In der Cloud oder in OndDrive findet ihr ein neues Projekt "Blumenwiese". Hier findet ihr sehr viele Klassen. Ihr könnt sie gerne alle anschauen, bearbeiten sollt ihr in der Klasse "Wiederholen" die Methode "alleBlumenAufheben". Um das Blumenfeld zu sehen. müsst ihr die Klasse einmal öffnen (mit nr=1). Dann seht ihr, was zu tun ist.
bedingte Wiederholung
void langFressen() { while(masse < 1000) // solange die Masse unter 1000 ist, { fressen(); // wird die Methode fressen aufgerufen. } }
Infos
DEKLARATION | Beispiel | Pseudocode |
---|---|---|
while(<Bedingung>) { Anweisung(en); } |
int i = 0; int potenz = 1; while(i<=10) { System.out.println("2^" + i + " = " + potenz); potenz = potenz*2; i++; } |
Startwerte für i |
Aufgabe
- Überlege dir, wie du den Exponenten berechnen kannst einer 2er Potenz. z.B. 32 = 2^x. Wie groß ist x?
- Formuliere einen Satz mit "Solange".
- Notiere eine Methode "exponentBerechnen(int potenz)", die die Potenz erhält und den Exponenten berechnet und ausgibt. Du kannst dazu ein neues Projekt erstellen oder es bei dem Bauernhof eintragen.
Lösung1
void exponentBerechnen1(int potenz) { int i = 0; while(potenz >1) { potenz = potenz/2; i++; } System.out.println(i); }
Lösung2
void exponentBerechnen2(int potenz) { int i = 0; int p = 1; while(potenz >=p) { p = p*2; i++; } System.out.println(i-1); }
- Lass die Figur flo in der Blumenwiese einmal am Rand entlang laufen. Methode (void amRandLaufen()). Tipp: Du kannst die Figur flo am Anfang erstmal in die obere linke Ecke gehen lassen.
- Lass die Figur flo einmal in ganze Blumenwiese ablaufen und die vorhandenen Blumen aufheben. Methode (void ganzeBlumenwieseLaufen()). Teste die Methode bei beiden Blumenwiesen.