"Einkauf" & if else Struktur

Bitte aktiviere JavaScript!
Hallo erstmal,
wir sollten im Unterricht wie eine Art "Einkauf" darstellen und zum Schluss sagen können, ob das vorhandene Geld reicht.
Ich bin mir generell unsicher ob ich das richtig angegangen bin und joa ich geb euch erstmal was ich bisher so hab:
Javascript:
package kassenbon;
import javax.swing.JOptionPane;

public class KASSENBON {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

    String Geld = JOptionPane.showInputDialog("Wie viel Geld hast du?");
    int Brieftasche = Integer.parseInt(Geld);
    
String Objekt1 = JOptionPane.showInputDialog("Was ist das erste Produkt was du kaufst?");
    
    String SPreis1 = JOptionPane.showInputDialog("Was ist der Preis für " + Objekt1 + "? (in €)");
    int Preis1 = Integer.parseInt(SPreis1);
    
    String SMenge1 = JOptionPane.showInputDialog("Wie viele " + Objekt1 + " hast du gekauft?");
    int Menge1 = Integer.parseInt(SMenge1);
    
String Objekt2 = JOptionPane.showInputDialog("Was ist das zweite Produkt was du kaufst?");
    
    String SPreis2 = JOptionPane.showInputDialog("Was ist der Preis für " + Objekt2 + "? (in €)");
    int Preis2 = Integer.parseInt(SPreis2);
    
    String SMenge2 = JOptionPane.showInputDialog("Wie viele " + Objekt2 + " hast du gekauft?");
    int Menge2 = Integer.parseInt(SMenge2);
    
String Objekt3 = JOptionPane.showInputDialog("Was ist das dritte Produkt was du kaufst?");
    
    String SPreis3 = JOptionPane.showInputDialog("Was ist der Preis für " + Objekt3 + "? (in €)");
    int Preis3 = Integer.parseInt(SPreis3);
    
    String SMenge3 = JOptionPane.showInputDialog("Wie viele " + Objekt3 + " hast du gekauft?");
    int Menge3 = Integer.parseInt(SMenge3);
    
String Objekt4 = JOptionPane.showInputDialog("Was ist das vierte Produkt was du kaufst?");
    
    String SPreis4 = JOptionPane.showInputDialog("Was ist der Preis für " + Objekt4 + "? (in €)");
    int Preis4 = Integer.parseInt(SPreis4);
    
    String SMenge4 = JOptionPane.showInputDialog("Wie viele " + Objekt4 + " hast du gekauft?");
    int Menge4 = Integer.parseInt(SMenge4);
    
    int GesamtGesamt=0;
    
    if (GesamtGesamt <= Brieftasche)
        GesamtGesamt = Preis1 * Menge1 + Preis2 * Menge2 + Preis3 * Menge3 + Preis4 * Menge4;
    
     System.out.println ("Dein Einkauf kostet" + GesamtGesamt + "€");
    
    if (GesamtGesamt > Brieftasche) System.out.println("Du hast zu wenig Geld");
    /*hier wollte ich ursprünglich else nehmen aber das ging nicht*/
    
    }

}
Das ist bestimmt unnötig viel rumgeschreibe und deswegen ist meine erste Frage ob man das auch irgendwie leichter hätte machen können?
Meine zweite Frage könnt ihr euch bestimmt denken, wenn ihr den ganzen Code gelesen habt.
Ich wollte am Ende eigentlich if (GesamtGesamt <= Brieftasche) und dann else nehmen. Wenn ich das allerdings mit dem else mache, bekomme ich gleich mehrere Fehlermeldungen.
Vielen Dank schonmal im Vorraus :)
 
A

Anzeige


Vielleicht hilft dir dieser Kurs hier weiter: (hier klicken)
Wenn du es so schreibst?
Java:
int GesamtGesamt = 0;

if (GesamtGesamt <= Brieftasche)
    GesamtGesamt = Preis1 * Menge1 + Preis2 * Menge2 + Preis3 * Menge3 + Preis4 * Menge4;

System.out.println("Dein Einkauf kostet" + GesamtGesamt + "€");

if (GesamtGesamt <= Brieftasche) System.out.println("Du hast genug Geld");
else System.out.println("Du hast zu wenig Geld");
Bei mir kommt keine Fehlermeldung.
 
Unabhängig von deiner eigentlichen Frage empfehle ich dir dich bereits jetzt an die Java Namenskonventionen zu halten, d.h.:
- Klasse in Großschreibung --> Kassenbon
- Variablen in lowerCamelCase --> brieftasche, gesamtGesamt....
- wenn möglich englisch und sprechender --> totalPrice, pocketMoney...

Sind die OptionPanes vorgegeben? Wenn nicht, warum nicht einfach nur Konsole?
Ist es so vorgegeben, dass es 4 Produkte sind? Falls nein und ihr bereits Listen hattet würde ich diese auch verwenden.
Hattet ihr schon Exceptions? Wenn ja würde ich ein Fehlerhandling ergänzen an deiner Stelle, falls keine Zahl eingegeben wird.
Was meinst du mit else ging nicht?
 
Wenn du es so schreibst?
Java:
int GesamtGesamt = 0;

if (GesamtGesamt <= Brieftasche)
    GesamtGesamt = Preis1 * Menge1 + Preis2 * Menge2 + Preis3 * Menge3 + Preis4 * Menge4;

System.out.println("Dein Einkauf kostet" + GesamtGesamt + "€");

if (GesamtGesamt <= Brieftasche) System.out.println("Du hast genug Geld");
else System.out.println("Du hast zu wenig Geld");
Bei mir kommt keine Fehlermeldung.
Oh ja stimmt das geht natürlich auch weiß nicht wieso ich nicht darauf gekommen bin.
dann brauche ich das if natürlich auch nicht mehr. Habe es jetzt so:
Javascript:
 int GesamtGesamt=0;
    
        GesamtGesamt = Preis1 * Menge1 + Preis2 * Menge2 + Preis3 * Menge3 + Preis4 * Menge4;
    
        System.out.println ("Dein Einkauf kostet " + GesamtGesamt + "€");
    
     if (GesamtGesamt <= Brieftasche)
         System.out.println("Du hast zu genug Geld");
    
     else 
         System.out.println("Du hast zu wenig Geld");
 
Puh ich verstehe fast nur Bahnhof. Bin noch blutiger Anfänger und froh wenn ich nach ein paar Anläufen keine Fehler mehr drin hab.
Ich kann mir vorstellen, dass fortgeschrittenere das sehen und denken was macht die denn da
Das mit dem englisch benennen merke ich mir.
Ist es so vorgegeben, dass es 4 Produkte sind?
Ja
Hattet ihr schon Exceptions?
Nein, wir haben java generell noch nicht lange
Was meinst du mit else ging nicht?
hat sich gerade eben bei krgewb geklärt
 
OK. Dann nur so viel: Du kannst das Abfragen Deiner vier Produkte kürzer mit einer Schleife schreiben. Für die Preise und Mengen verwendest Du dabei ein Array. Das kannst Du gleich als nächstes probieren, wenn ihr damit durch seid.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben