Java If-Abfrage wenn ein String Nicht "text1" ODER "text2" ?

3 Antworten

Die Umkehrung von „a || b“ ist !(a || b)“ (geklammert!). Wenn Du die Klammern auflösen möchtest, dann musst Du die de-morganschen Gesetze beachten.

!(a || b) = !a && !b

Wenn die Rechenart „plus“ ist, dann gilt ja irrtümlicherweise der logische Ausdruck „Rechenart ist nicht plus oder Rechenart ist nicht minus“.

Hey,

das verwirrt viele Leute am Anfang

Du musst && anstelle von || nutzen. Du willst ja nämlich, wie ich dem Text entnehme, ob weder "plus", noch "minus" eingegeben wurde. Du willst also schauen, ob der Text nicht "plus" UND auch nicht "minus" ist.

Mfg Jannick (L1nd)

Woher ich das weiß:eigene Erfahrung – Aktuelles Studium in angewandter Informatik

DaTa1981 
Beitragsersteller
 12.06.2023, 21:29

Vielen vielen Dank, das ging ja fix. Ich habe in alle Richtungen gedacht aber (wenn man die Antwort dann liest) nicht so einfach :) Funktioniert nun super!

1

Für den Fall "weder Plus noch Minus" wäre das

(!rechenart.equals("plus")) && (!rechenart.equals("minus"))

Dein funktionierender Fall (Code 2) überprüft, ob rechenart "plus" und/oder "minus" exakt entspricht.

Das Gegenteil dazu wäre, dass rechenart nicht exakt "plus" entspricht und rechenart nicht exakt "minus" entspricht.

P.S.: Den Fall aus Code 2 könnte man auch mit einem exklusiven Oder lösen, aber das ist in einer Situation in der sowieso nur eine der zwei Bedingungen erfüllt sein kann (da sich die beiden gegenseitig ausschließen) nicht zwingend notwendig.