# Problem mit kleinem Programm



## northstar (17. Okt 2009)

Hi,

lacht mich bitte nicht wegen dem folgenden Problem aus. Ich hab ja grad erst mit meinem 1. Semester begonnen und bin somit noch ein echter Anfänger.  

Aber was will mein Prof überhaupt von mir:

Ich soll ein Programm schreiben, welches 16 mal "Hello World ausgibt, indem ich ausschließlich boolesche Variablen verwende.

Soweit so gut. 

Ich habe schon versucht die Lösung mit einer while-Schleife zu realisieren, aber da fehlt mir ja logischerweise das Abbruchkriterium, was ja darin endet, dass die Schleife ewig läuft und jCreator abstürzt. :lol: Ich darf ja die Schritte nicht einfach aufaddieren, bis ich die Schleife 16x durchlaufen habe.

Deshalb meine Frage: Könnt ihr mir vielleicht einen kleinen Hinweis geben, wie ich damit anfangen soll? Zum Beispiel komme ich einfach nicht auf eine vernünftige Schleifenbedingung und wie viele boolesche Variablen ich dafür brauche. 

Gruß Patrick.


----------



## Landei (17. Okt 2009)

Sowas? 
(ungetestet)

```
boolean a = false;
boolean b = false;
boolean c = false;
boolean d = false;
do {
  do {
    do {
      do {
        System.out.println("Hi!");
        d = !d;
      } while(d);
      c = !c;
    } while(c);
    b = !b;
  } while(b);
  a = !a
} while(a);
```
Was eleganteres fällt mir gerade nicht ein...


----------



## northstar (17. Okt 2009)

Genau. Und wenn ich das richtig verstanden habe, muss man in diesem Fall vier boolesche Variablen verwenden, weil jeder von ihnen ja zwei Werte haben kann?

Danke.


----------



## Landei (17. Okt 2009)

Genau, jede Schleife wird zweimal ausgeführt, also bekommt man 2*2*2*2 = 16 mal die Ausgabe. Allerdings klappt es mit while nicht, denn da bekommt man nur einen Durchlauf hin, also muss man do-while verwenden.


----------

