News Ticker

Java 4: Kassen Programm mit if Abfrage

Heute zeige ich euch was ihr mit dem Befehl if machen könnt. Wenn ihr eine if Abfrage macht kann euer Programm an 2 verschiedenen Wegen weiter gehen. Hier habe ich ein Struktugramm für euch damit ihr besser sehen könnt wie so eine If Abfrage aufgebaut ist.
 Struktogramm_if_else
Bei einer if Anweisung kann als Antwort eine 2 Wahrheitswerte geben. Entweder true oder false. Oft werden mit einem If Block 2 Variablen verglichen.
In dieser Tabelle seht ihr alle Vergleichsoperatoren die ihr in einer IF-Abfrage verwenden könnt.

kleiner <
kleiner gleich <=
größer >
größer gleich >=
gleich ==
ungleich !=

Eine if Verzweigung ist wie folgt aufgebaut:

1
2
3
4
5
6
7
8
if (Bedingung)
{
Anweisungsblock 1;
}
else
{
Abweisungsblock 2;
}

Zum Testen der if Abfrage schreiben wir ein kleines Kassen Programm. Das Programm soll zunächst abfragen ob er Kunde eine Kundenkarte besitzt. Hier kann man dann per Usereingabe wählen ob eine Kundenkarte vorhanden (1) oder nicht vorhanden (0) ist. Danach sollt ihr den User auffordern den Geldbetrag von 3 Produkten ein zu geben. Diese 3 eingegeben Werte sollt ihr anschließend addieren. Wenn der Kunde eine Kundenkarte besitzt soll es auf den Gesamtbetrag 5 % Rabatt geben. Danach sollt ihr den Betrag ausgeben.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
package kasse;
import java.io.BufferedReader;
import java.io.InputStreamReader;
 
/**
 *
 * @author Andreas
 */
public class Main {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       System.out.println("Besitzt der Kunde eine Kundenkarte? (Ja=1, Nein=0)");
       try {
       BufferedReader input=new BufferedReader (new InputStreamReader (System.in));
       String kundenkarte;
       kundenkarte = input.readLine();
       double kundekarte_double;
       kundekarte_double=Double.parseDouble(kundenkarte);
 
       System.out.println("Bitte geben Sie den ersten Preis ein");
       String preis1;
       preis1 = input.readLine();
       double preis1_double;
       preis1_double=Double.parseDouble(preis1);
 
       System.out.println("Bitte geben Sie den zweiten Preis ein");
       String preis2;
       preis2 = input.readLine();
       double preis2_double;
       preis2_double=Double.parseDouble(preis2);
 
       System.out.println("Bitte geben Sie den dritten Preis ein");
       String preis3;
       preis3 = input.readLine();
       double preis3_double;
       preis3_double=Double.parseDouble(preis3);
 
       double gesamtbetrag;
       gesamtbetrag = preis1_double + preis2_double + preis3_double;
 
       double endbetrag;
 
       if (kundekarte_double==1)
       {
       endbetrag = gesamtbetrag * 0.95;
       }
       else
       {
       endbetrag = gesamtbetrag;
       }
 
       System.out.println("Bitte zahlen Sie : " +endbetrag+ " €");
 
       }
       catch (Exception ex)
       {
       System.out.println("Fehlerhafte eingabe");
       }
        // TODO code application logic here
    }
 
}

Ich werde jetzt nicht mehr jede Zeile einzeln beschreiben da die einfachen befehle jedem klar sein sollten nach den ersten Tutorials.

  • In der Zeile 22 – 24 wird eingelesen ob der Benutzter eine Kundenkarte besitzt.
  • In der Zeile 25 und 26 wird der String in ein Double umgewandelt.
  • In den Zeilen 28 bis 44 werden die Werte eingelesen und in ein Double umgewandelt.
  • In den Zeilen 45 und 46 werden die Werte addiert und in der Variablen gesamtbetrag gespeichert.
  • In der Zeile 49 wird die Variable endbetrag als double definiert.
  • In der Zeile 51 wird per if Abfrage überprüft ob die Variable kundekarte_double = 1 ist. Das ist dafür da um heraus zu finden ob der User eine Kundenkarte besitzt.
  • Wenn in der Variablen kundekarte_double eine 1 steht und der User somit eine Kundenkarte besitzt wird die Zeile 53 bearbeitet. Hier wir die Variable gesamtbetrag mit 0,95 mal genommen und in der Variablen endbetrag gespeichert. So kann man dem Kunden 5 % Rabatt geben.
  • Wenn in der Variablen kundekarte_double eine 0 oder eine andere Zahl steht wird in der Zeile 57 weiter gearbeitet. Dort wird einfach der Inhalt der Variablen gesamtbetrag in die Variable endbetrag übertragen.
  • In der Zeile 60 wird der Endbetrag ausgegeben.

Hier geht es zu den bisherigen Teilen der Artikelserie Java:

Java 1: Netbeans die ersten Schritte und Hello World

Java 2: Rechnen mit Variablen

Java 3: Werte einlesen, zwischenspeichern und wieder ausgeben

7 Kommentare zu Java 4: Kassen Programm mit if Abfrage

  1. Die Grafik nennt man „Struktogramm“. Und in der Tabelle finden sich „Vergleichsoperatoren“. Das sind sicher wichtige Begriffe, die du dazu schreiben solltest.

    Am Ende hast du vergessen das Programm im Code-Tags zu setzen. Man kann es so kaum lesen… 🙂

  2. Da muss ich mich ja fast schämen was mir hier alles passiert ist oder besser gesagt was ich vergessen habe. Habe jetzt die ganzen sachen Hinzugefügt die gefehlt haben.

  3. wo liegt mein fehler ?
    bekomme diese fehlermeldung :
    Exception in thread „main“ java.lang.RuntimeException: Uncompilable source code – cannot find symbol
    symbol: class Eception
    location: class kassenprogramm.KassenProgramm
    at kassenprogramm.KassenProgramm.main(KassenProgramm.java:20)
    Java Result: 1

    im output

  4. ok hab den fehler gefunden beim“ catch (Exeption ex) “
    fehlte das x in Exeption danke trotzdem sehr gut erklärt das ganze

  5. Manuel // 13. Mai 2017 um 18:11 //

    Hallo, bei mir wird außer der Aufforderung nichts angezeigt woran liegt das?

  6. Manuel // 13. Mai 2017 um 18:18 //

    Moment, jetzt kommt noch fehlerhafte Eingabe. Aber nie ein betrag. normal?

  7. Manuel // 13. Mai 2017 um 19:10 //

    Entschuldigen Sie bitte, ich stand auf dem Schlauch, jetzt kann ichWerte eingeben 🙂

Kommentare sind deaktiviert.