Eine gute Antwort wäre:

Nein.

Autokauf-Programm

Alles was Sie brauchen ist Geld ODER Kredit. Eines von beiden würde ausreichen. Natürlich, wenn Sie eine Menge Geld und eine Menge Kredit hätten, dann könnten Sie den Wagen selbstverständlich auch kaufen.

Manchmal muss ein Programm überprüfen, ob nur eine der Bedingungen erfüllt wurde. Wie das beim Autokauf-Problem umgesetzt wurde sehen Sie hier:

// Sportwagenkauf
//
//    Sie benötigen $25.000 in bar oder einen Kredit
//    für einen heißen roten Miata Sportwagen.
//
import java.io.*;

class HotWheels
{
  public static void main (String[] args) throws IOException
  {
    BufferedReader stdin =
        new BufferedReader ( new InputStreamReader( System.in ) );

    String inData;
    int    bargeld, kredit ;

    // Bargeld einholen
    System.out.println("Wie viel Bargeld?");
    inData   = stdin.readLine();
    bargeld     = Integer.parseInt( inData );

    // Kreditlinie einholen
    System.out.println("Wie viel Kredit?");
    inData   = stdin.readLine();
    kredit   = Integer.parseInt( inData );

    // überprüfen, dass zumindest eine der Bedingungen erfüllt ist
    if ( bargeld >= 25000  ||  kredit >= 25000 )
      System.out.println("Genug, um diesen Wagen zu kaufen!" );
    else
      System.out.println("Wie waere es mit einem Mofa?" );

  }
}

Das Symbol || (Senkrechter-Strich Senkrechter-Strich) bedeutet "ODER." Auf Ihrer (deutschen) Tastatur ist es das dritte Zeichen auf der <-Taste. Sie erhalten es, wenn Sie die AltGr-Taste gedrückt halten und dann die <-Taste tippen. Es ergibt wahr, wenn eine Bedingung erfüllt ist oder wenn beide Bedingungen erfüllt sind. Die if-Anweisung stellt eine Frage in zwei Teilen:

if bargeld >= 25000 || kredit >= 25000
   ----------------     ---------------
   Bargeld-Teil         Kredit-Teil

Jeder dieser Teile ist ein relationaler Ausdruck (genau wie bei den vorherigen Programmen in diesem Kapitel). Ein relationaler Ausdruck betrachtet zwei Zahlen und ergibt true oder false. Ein logischer Ausdruck ermittelt einen einzelnen true- oder false-Wert aus zwei oder mehreren true/false-Werten.

FRAGE 15:

Angenommen Sie geben 56000 für bargeld und 0 für kredit ein. Welche Antwort (wahr oder falsch) wird jeder der Teile ergeben?

bargeld  >= 25000  ________________

kredit   >= 25000  ________________
Inhaltsverzeichnis