if ( bargeld >= PREIS )
Sie haben (hoffentlich) einen relationalen Operator gewählt, der
true
ergibt, wenn der Anwender den
Pullover bezahlen KANN.
Hier ist, was bei einem Ablauf des Programms passiert:
Wie viel haben Sie, in Cent? 5000 Sie koennen den Pullover kaufen
Der true
-Block wurde ausgeführt,
da der Boolesche Ausdruck true
ergab.
Hier ist ein weiterer Lauf des Programms:
Wie viel haben Sie, in Cent? 2000 Sie koennen den Pullover nicht kaufen Sie brauchen $24.95 mehr.
Der false
-Block wurde ausgeführt,
da der Boolesche Ausdruck false
ergab.
Boolesche Ausdrücke sind immer
true
oder false
.
Durch die Verwendung des richtigen relationalen
Operators
==, >, <, >=, <=, !=
)true
ergibt,
wenn Sie den true
-Zweig ausgeführt haben wollen.
Der true
-Zweig ist nicht unbedingt immer die "beste Wahl".
Wenn die Anweisungen innerhalb der beiden Zweige ausgetauscht werden,
müssen Sie auch den relationalen Operator ändern, damit das
Programm das gleiche tut wie zuvor.
Hier ist noch einmal das Programm,
mit den ausgetauschten Anweisungen des true
und false
-Zweiges.
import java.io.*;
class PulloverKauf
{
public static void main (String[] args) throws IOException
{
final int PREIS = 4495; // Preis in Cent
BufferedReader stdin =
new BufferedReader ( new InputStreamReader( System.in ) );
String inData;
int bargeld;
System.out.println("Wie viel haben Sie, in Cent?");
inData = stdin.readLine();
bargeld = Integer.parseInt( inData );
if ( __________________ )
{
System.out.println("Sie können den Pullover nicht kaufen" );
System.out.println("Sie brauchen $" +
(PREIS-bargeld)/100 + "." + (PREIS-bargeld)%100 + " mehr." );
}
else
System.out.println("Sie koennen den Pullover kaufen" );
}
}