Interpreter-Fehler boolean nur eins darf wahr sein

wolf454

Mitglied
wahrscheinlich ne super einfache, doofe und nicht in das forum gehörende frage(hausaufgabe.-.)
ich habe genau 3 boolean werte und wenn GENAU einer false ist soll true rauskommen. hab jetzt mit super vielen möglichkeiten getestet.-. aber schlussendlich bin ich mit einzel abfragen und xor rausgekommen:(
und jetzt würde ich halt gerne wissen ob es nen besseren/einfacheren weg gäbe.-. habe schonversucht ohne true und false hinzuschreiben mit negation und ==/&& dem einfachen d^e^f etc hat alles nicht funtioniert
Code:
boolean d,e,f;
  d= false;
  e= true;
  f= true;

 if((d==false && e==true && f==true)^(d==true && e== false && f==true)^(d==true && e==true && f==false)){

  System.out.println ("true eine von d e oder f ist false");
  }

  else {
  System.out.println("false mehr als eine oder keine ist false");
  }
 

fhoffmann

Top Contributor
Hallo,
zunächst solltest du statt
Java:
(d==false && e==true && f==true)
besser schreiben:
Java:
(!d && e && f)
Und dann kannst du die drei Fälle mit "oder" verknüpfen.
 

wolf454

Mitglied
Hallo,
zunächst solltest du statt
Java:
(d==false && e==true && f==true)
besser schreiben:
Java:
(!d && e && f)
Und dann kannst du die drei Fälle mit "oder" verknüpfen.
yeah danke sehr^^ sieht jetzt wenigstens etwas proffesioneller aus.-. aber trotzdem soviel arbeit für so ne einfache aufgabe:/ warum funkt (!(e^f^d) nicht? xors aufgabe ist es doch bei zwei wenn beide verschieden sind true rauszugeben. aber könnte man das nicht im falle von meheren interpretieren als: wenn einer anders ist (f/t/t) gebe true raus.
 

Meniskusschaden

Top Contributor
Hier ist zum Spaß noch eine alternative Lösung, die einfach die true-Werte zählt:
Java:
(d?1:0) + (e?1:0) + (f?1:0) == 2


aber könnte man das nicht im falle von meheren interpretieren als: wenn einer anders ist (f/t/t) gebe true raus.
Das kann man schlecht machen, weil es mathematisch falsch wäre. Beispielsweise gilt für false, true, true folgendes:
Code:
false ^ true ^ true ==
(false ^ true) ^ true ==
true ^ true ==
false
Das wäre also vergleichbar mit der Forderung, dass 0 + 1 + 1 = 1 sein soll. Wenn man die Abfrage mehrfach benötigt, kann man ja einfach eine Methode dafür programmieren.
 

sascha-sphw

Top Contributor
Die Tabelle für e^f^d sieht wie folgt aus.
e f d q
0 0 0 0
1 0 0 1
0 1 0 1
1 1 0 0
0 0 1 1
1 0 1 0
0 1 1 0
1 1 1 1
Und die letzte Zeile ist einfach zu erklären, da e^f hier 0 ergibt und das dann mit einer weiteren 1 exclusiv ist. Somit erhält man zum Schluss eine 1.

Soweit ist XOR aber schon gut, man muss dann einfach noch den letzten Fall extra behandeln.
Java:
if(!((e ^ f ^ d && !(e && f && d)))) {
...
 

wolf454

Mitglied
je true werte/false werte zählen wäre wohl die einfachste möglichkeit aber hatte ich noch net ^^

sasche super antwort vielen dank:D versteh jetzt warum das nicht geklappt hat
HALT STOP ich habe es doch noch mal getestet und (f/f/f) bringt wieder true raus.-.
und (true/true/true) gibt ebenfalls wieder true raus.-.
 
Zuletzt bearbeitet:

sascha-sphw

Top Contributor
Folgend die Tabelle für !(e ^ f ^ d &&!(e && f && d))
e | f | d || q
--------------
0 | 0 | 0 || 1
1 | 0 | 0 || 0
0 | 1 | 0 || 0
1 | 1 | 0 || 1
0 | 0 | 1 || 0
1 | 0 | 1 || 1
0 | 1 | 1 || 1
1 | 1 | 1 || 1

Ich dachte Du willst auf false Abfragen. Wenn du die Negation am Ende weg lässt ergibt sich die folgende Tabelle.
e ^ f ^ d && !(e && f && d)
e | f | d || q
--------------
0 | 0 | 0 || 0
1 | 0 | 0 || 1
0 | 1 | 0 || 1
1 | 1 | 0 || 0
0 | 0 | 1 || 1
1 | 0 | 1 || 0
0 | 1 | 1 || 0
1 | 1 | 1 || 0
 

Neumi5694

Top Contributor
Hier ist ein anderer Ansatz.
Java:
private boolean test(boolean a, boolean b, boolean c) {
    if (a) {
        if (b) {
            return false;
        }
        return !c;
    }
    if (b) {
        return !c;
    }
    return c;
}
Vorteil: Viel weniger Prüfungen notwendig
Nachteil: Sehr speziell für genau diesen einen Fall.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
Zentriks Hilfe zu Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 5
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
C Java boolean Code läuft nicht Java Basics - Anfänger-Themen 5
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 5
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 4
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
B Rückgabewert boolean Java Basics - Anfänger-Themen 8
J Compiler-Fehler Harshadzahlen mit Boolean Java Basics - Anfänger-Themen 4
J boolean aufgabe Java Basics - Anfänger-Themen 9
A Boolean Java Basics - Anfänger-Themen 5
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
J Boolean[] teilen Java Basics - Anfänger-Themen 13
S public static boolean Java Basics - Anfänger-Themen 4
R Boolean Methode Rückgabewert if() Java Basics - Anfänger-Themen 1
G Rekursive Methode liefert augenscheinlich keinen boolean-Wert zurück. Java Basics - Anfänger-Themen 4
kazzam94 Methode soll Array von Boolean zurückgeben Java Basics - Anfänger-Themen 5
L Überschriebene Boolean Statements Java Basics - Anfänger-Themen 2
L boolean-Abfrage enumeration Java Basics - Anfänger-Themen 3
A Ausgabe mit boolean Java Basics - Anfänger-Themen 3
R Boolean value ohne Kontrollstrukturen ändern Java Basics - Anfänger-Themen 5
F boolean stellt sich auf true Java Basics - Anfänger-Themen 15
V Boolean Wert nicht richtig erkannt Java Basics - Anfänger-Themen 4
Kirby.exe ArrayOutOfBoundsException bei boolean Array Java Basics - Anfänger-Themen 19
C Ganzzahlige Werte in Boolean ausgeben und überprüfen ob Primzahl oder nicht, wenn es keine Primzahl ist soll es die Primfaktorzerlegung ausgeben Java Basics - Anfänger-Themen 4
I converting boolean Array to String Array Java Basics - Anfänger-Themen 10
C Java Boolean reagiert nicht Java Basics - Anfänger-Themen 18
A Alle true Werte eines boolean Arrays herausfiltern Java Basics - Anfänger-Themen 19
G Ratlosigkeit zur Aufgabe im Anhang (boolean, equals.) Java Basics - Anfänger-Themen 20
F Boolean Methode Wert ausgeben. Java Basics - Anfänger-Themen 2
K Boolean in einer Methode um 2 Objekte zu vergleichen Java Basics - Anfänger-Themen 12
K Boolean in einer erstellten Klasse verwenden Java Basics - Anfänger-Themen 14
X Erste Schritte boolean wert ändert sich nicht? Java Basics - Anfänger-Themen 6
W Problem mit dem Wert von boolean-Variable Java Basics - Anfänger-Themen 3
P Array Sortieren mit boolean? Java Basics - Anfänger-Themen 33
A Boolean in String Java Basics - Anfänger-Themen 2
S Operatoren Boolean Vergleichsoperator Java Basics - Anfänger-Themen 7
Queiser Super boolean Java Basics - Anfänger-Themen 11
E ISBN Nummer mit boolean Java Basics - Anfänger-Themen 5
W In Methode boolean array zurückgeben Java Basics - Anfänger-Themen 3
B Math.random mit Boolean array? Java Basics - Anfänger-Themen 17
Z Boolean Abfrage in einer for each Schleife Java Basics - Anfänger-Themen 2
T Methoden Boolean wird nicht gesetzt Java Basics - Anfänger-Themen 1
H boolean Array Problem Java Basics - Anfänger-Themen 7
S boolean Wert von mehreren int Möglichkeiten abfragen ? Java Basics - Anfänger-Themen 4
J Problem mit Boolean bei Funktion! Java Basics - Anfänger-Themen 5
O boolean Array Frage! Java Basics - Anfänger-Themen 4
? Methoden Boolean Wert vergleichen und einlesen Java Basics - Anfänger-Themen 1
M Erste Schritte while boolean=false läuft nur bei true??? Java Basics - Anfänger-Themen 23
D Boolean Array initialisieren Java Basics - Anfänger-Themen 4
M Datentypen Byte, Float und Boolean Java Basics - Anfänger-Themen 13
A Problem beim Deklarieren von einem BOOLEAN Java Basics - Anfänger-Themen 4
G Wie kann man den Erfolg einer Zuweisung als Boolean Wert verwenden? Java Basics - Anfänger-Themen 12
K Problem mit Methode(Array,Boolean,ForSchleife) Java Basics - Anfänger-Themen 6
V Methode erstellen für ein Boolean Array Java Basics - Anfänger-Themen 13
T Boolean by Reference Java Basics - Anfänger-Themen 6
L Wertebereich von boolean Java Basics - Anfänger-Themen 4
D Erklärung static boolean Java Basics - Anfänger-Themen 6
T Eine String Matrix erstellen die eine boolean Funtion verwendet Java Basics - Anfänger-Themen 10
J Datentypen Boolean Refferenz Objekt Java Basics - Anfänger-Themen 2
A boolean Methode ohne If und else Java Basics - Anfänger-Themen 1
fLooojava Laufender Thread | Boolean ändern Java Basics - Anfänger-Themen 9
T Boolean Missing return Statement?! Java Basics - Anfänger-Themen 2
A Boolean aus dem ActionlListener Java Basics - Anfänger-Themen 1
T hashCode mit boolean Java Basics - Anfänger-Themen 1
T boolean, was passiert hier? Java Basics - Anfänger-Themen 4
M Sind solche boolean Anweisen empfehlenswert? Java Basics - Anfänger-Themen 3
N Boolean Werte - immer "false" Java Basics - Anfänger-Themen 5
J GUI per Boolean steuern Java Basics - Anfänger-Themen 3
F Effizientes Lesen von 65 Datein mit Boolean Werten Java Basics - Anfänger-Themen 6
K Viergewinnt - boolean Problem Java Basics - Anfänger-Themen 2
S Best Practice Boolean mit IF verbinden Java Basics - Anfänger-Themen 7
D Boolean mit String Java Basics - Anfänger-Themen 2
K Methode ohne Rückgabewert in boolean Methode ändern Java Basics - Anfänger-Themen 6
E 2 dimensionales Boolean Array Java Basics - Anfänger-Themen 5
B assertArrayEquals nicht für boolean[]? Java Basics - Anfänger-Themen 2
M !boolean das selbe wie boolean == false? Java Basics - Anfänger-Themen 3
L Boolean Methode wirft Fehler aus Java Basics - Anfänger-Themen 12
M Erste Schritte boolean: ist Zahl Hexadezimal - Lösung verwirrend Java Basics - Anfänger-Themen 6
F Datentypen Frage nach Boolean Java Basics - Anfänger-Themen 11
C Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 20
B Boolean abfrage Java Basics - Anfänger-Themen 3
L The operator && is undefined for the argument type(s) String, boolean Java Basics - Anfänger-Themen 8
L Methoden Boolean-Methode Java Basics - Anfänger-Themen 16
S Setter Methode von Boolean Java Basics - Anfänger-Themen 11
W Datentypen Zweidimensionales Boolean Array Java Basics - Anfänger-Themen 13
P Compiler-Fehler Boolean: Missing Return Statement Java Basics - Anfänger-Themen 4
M int & boolean Java Basics - Anfänger-Themen 12
feardorcha boolean array false - true - Abfrage Java Basics - Anfänger-Themen 10
R boolean, if-else Java Basics - Anfänger-Themen 7
J Variablen Boolean true "übersetzen" in String Java Basics - Anfänger-Themen 10
M Meldung "cannot convert flom boolean to boolean[]" Java Basics - Anfänger-Themen 3
S Name eines boolean ausgeben (nicht den Wert) Java Basics - Anfänger-Themen 43
S Variablen Prüfen, ob einer von vielen boolean true ist Java Basics - Anfänger-Themen 8
D boolean te wird nicht verwendet Java Basics - Anfänger-Themen 2
M Bedingte Anweisung mit Boolean Java Basics - Anfänger-Themen 2
C cannot convert from int to boolean Java Basics - Anfänger-Themen 3
T Variablen boolean-wert wird nicht gesetzt Java Basics - Anfänger-Themen 6
A In Methode boolean ändern Java Basics - Anfänger-Themen 2
D Java Einsteiger (boolean, if-else etc.) Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben