Kann man mehrer char Variablen in Java auf einmal vergleichen?

...komplette Frage anzeigen

3 Antworten

Du vergleichst die Variablen falsch.

In einer if-Abfrage müssen mehrer Bedingungen mit einem logischen Operator verknüpft werden. Beispiel dafür wären && (AND), || (OR), ^ (XOR).

In deinem Fall müsstest du also schreiben:
(ich nehme an, dass alle Elemente des Arrays verschieden sein müssen.

if(charWort[0] != chartWort[1] && charWort[0] != 2 
   && charWort[1] != charWort[2]){
   //Anweisungen
}

Es muss also das erste Element verschieden vom zweiten und dritten Element sein und das zweite verschieden vom dritten.

Durch die logische Verknüpfung && müssen alle Bedingungen wahr sein, damit der Block danach ausgeführt wird.

Ich hoffe, ich konnte dir helfen, wenn du Fragen hast, kommentiere einfach.

LG Willibergi

Antwort bewerten Vielen Dank für Deine Bewertung

Woher sollte der Computer denn bei deinem Beispiel feststellen, dass charwort[0] und charwort[2] nicht gleich sein dürfen? Den Fall hast du übersehen.

Unabhängig davon können Vergleichsoperatoren immer nur zwei Werte vergleichen. Er wird also zuerst einen Teilausdruck ausgewertet und das Ergebnis mit dem dritten Wert verglichen. Und da geht es dann ganz schief, weil die Datentypen nicht passen. Bei dem ersten vergleich kommt Wahr oder falsch heraus, und der zweite vergleich wäre dann z.B.: "Ist WAHR das gleiche wie 'b'?", und dann sagt er zurecht incomparable types. 

Antwort bewerten Vielen Dank für Deine Bewertung

anders schreiben:

if(char1 != char2 && char1 != char3 && char2 != char3)

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?