[Java] Boolean oder nicht boolean?

Scowl

Pro-Rauchfrei e.V.
4 Mai 2006
578
61
Hallo zusammen,

ich mal wieder.

Ich möchte den Anwender folgende Eingabe machen lassen:
"Sie sind verheiratet ? ('j' für Ja; 'n' für Nein):"

Hierbei soll der diese Eingabeaufforderung so oft kommen, bis 'j' oder 'n' gedrückt wird. (das funktioniert mit char irgenwie auch noch nicht)

Jetzt stelle ich mir die Frage, ob hier ein boolean-Wert 'sinnvoll' ist, da ja nur JA und NEIN in Frage kommen.

Hier mal meine CodeSchnipsel:

char verheiratet;

do {verheiratet= IOTools.readChar("Sind Sie verheiratet (j; n): ");

// IOTools erleichtern das Einlesen aus der Konsole
}
while (verheiratet=!j || verheiratet=!'n');
// weder Schreibweise vor 'oder' noch Schreibweise nach 'oder' funktioniert.

***********************

Aber so müsste doch wenigstens die Eingabeaufforderunge (IOTools.readChar("Sind Sie verheiratet (j; n): ") wiederholt werden, oder?


Und dann noch die Frage, wie ich hier mit boolean arbeite?


Gruß Scowl
 
=! ist die Zuweisung der Inversen (meckert Java da ned drum, wenn du einen char negieren willst)
!= ist der Vergleich auf Ungleichheit
Ich denk mal, es liegt daran.

Ansonsten musst du halt mal selber debuggen, ich hab grad kein Java-Compiler installiert :p
 
Die Variable j wird wohl auch nicht definiert sein. Du bekommst von IOTools.readChar() einen char zurück, also musst du auch mit einem char vergleichen.
PHP:
... while(verheiratet != 'j' || verheiratet != 'n');
Überdenk dann aber nochmal, ob du diese Endlosschleife wirklich haben willst ;)
 
Die Variable j wird wohl auch nicht definiert sein. Du bekommst von IOTools.readChar() einen char zurück, also musst du auch mit einem char vergleichen.
PHP:
... while(verheiratet != 'j' || verheiratet != 'n');
Überdenk dann aber nochmal, ob du diese Endlosschleife wirklich haben willst ;)


omg - ob du es glaubst die Schreibweise 'ohne Variablen' hatte ich mehrmals versucht (also mit Hochkommata)... :-?

Ok, und wie negiere ich das alles noch?
 
PHP:
... while(verheiratet != 'j' || verheiratet != 'n');
Überdenk dann aber nochmal, ob du diese Endlosschleife wirklich haben willst ;)

Warum habe ich hier überhaupt eine Endlosschleife... wieso bricht es nicht ab, wenn ich z.b. 'x' eingebe? Dann trifft die Bedingung doch nicht zu...

Edit: Ich Held habe es hinbekommen -> UND &&
 
Zuletzt bearbeitet:
Jetzt noch das ganze mit boolean? Macht das Sinn (ist schöner ^^?) ... eigentlich schon, oder?
 
Hundertprozentig sicher bin ich mir grad auch nicht, aber alles andere würde IMO keinen Sinn machen. Immerhin nimmt der ternäre Operator einen bool'schen Ausdruck als Grundlage...