Hallo,
bis heute dachte ich, wenn in einer AND-Verknüpfung eine Aussage false und fünf andere true sind, dann ist das Ergebnis false.
Ich dachte weiter, wenn in einer OR-Verknüpfung von zwei Aussagen eine true und die andere false ist, dann ist das Ergebnis true.
Gut, ich glaube auch weiter daran, dass die beiden vorstehenden Sätze auch weiterhin gültig sind.
Ich frage mich allerdings, warum bei mir in einem Programm unter Java das anders ist. In einer if-Abfrage mit sechs Ausdrücken sind zwei false. Das Ergebnis aber ist true.
Einer der sechs Ausdrücke besteht selbst aus zwei Ausdrücken, die mit OR verknüpft werden und von denen einer true, der andere false ist. Das Ergebnis ist false.

Hier ein Screenshot dieser if-Abfrage. Der erste Ausdruck ist markiert und der logische Zustand dieses Ausdruckes wird darüber angezeigt, er ist false.

Der zweite Ausdruck, auch er ist false!


Die vorstehend gezeigten beiden Ausdrücke sind mit OR verknüpft, der erste ist false, der zweite true.

Nun hier das Ergebnis dieser OR-Verknüpfung, es ist false!
Die nächsten Drei Ausdrücke ergeben alle true. Ich denke, die muss ich nicht zeigen. Interessant wird das Gesamtergebnis:

Es ist true!
Bin ich nicht mehr klar bei Sinnen, habe ich die if-Abfrage falsch formuliert? Da einige der Klammern nicht zwingend erforderlich sind, habe ich es auch mit mehr oder weniger Klammerung versucht, das änderte aber nichts am Ergebnis. Darf eine if-Abfrage nicht so viele Ausdrücke beinhalten? Das könnte ich mir nicht vorstellen.
Ich hoffe, jemand kann mir helfen, diese offensichtlich falsche Auswertung zu vermeiden.
kodela
bis heute dachte ich, wenn in einer AND-Verknüpfung eine Aussage false und fünf andere true sind, dann ist das Ergebnis false.
Ich dachte weiter, wenn in einer OR-Verknüpfung von zwei Aussagen eine true und die andere false ist, dann ist das Ergebnis true.
Gut, ich glaube auch weiter daran, dass die beiden vorstehenden Sätze auch weiterhin gültig sind.
Ich frage mich allerdings, warum bei mir in einem Programm unter Java das anders ist. In einer if-Abfrage mit sechs Ausdrücken sind zwei false. Das Ergebnis aber ist true.
Einer der sechs Ausdrücke besteht selbst aus zwei Ausdrücken, die mit OR verknüpft werden und von denen einer true, der andere false ist. Das Ergebnis ist false.

Hier ein Screenshot dieser if-Abfrage. Der erste Ausdruck ist markiert und der logische Zustand dieses Ausdruckes wird darüber angezeigt, er ist false.

Der zweite Ausdruck, auch er ist false!


Die vorstehend gezeigten beiden Ausdrücke sind mit OR verknüpft, der erste ist false, der zweite true.

Nun hier das Ergebnis dieser OR-Verknüpfung, es ist false!
Die nächsten Drei Ausdrücke ergeben alle true. Ich denke, die muss ich nicht zeigen. Interessant wird das Gesamtergebnis:

Es ist true!
Bin ich nicht mehr klar bei Sinnen, habe ich die if-Abfrage falsch formuliert? Da einige der Klammern nicht zwingend erforderlich sind, habe ich es auch mit mehr oder weniger Klammerung versucht, das änderte aber nichts am Ergebnis. Darf eine if-Abfrage nicht so viele Ausdrücke beinhalten? Das könnte ich mir nicht vorstellen.
Ich hoffe, jemand kann mir helfen, diese offensichtlich falsche Auswertung zu vermeiden.
kodela