Problem mit kleinem Programm

Status
Nicht offen für weitere Antworten.

northstar

Mitglied
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

Top Contributor
Sowas?
(ungetestet)
Java:
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

Mitglied
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

Top Contributor
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.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben