• Wir präsentieren Dir heute ein Stellenangebot für einen Frontend-Entwickler Angular / Java in Braunschweig. Hier geht es zur Jobanzeige

Auswahl bei einem Videoverleih limitieren

P

Pimbulli

Mitglied
Hallo zusammen,

ich habe ein kleines Programm erstellt für einen Videoverleih erstellt. Ich würde nun gerne implementieren, dass der Kunde maximal einen Blockbuster auswählen kann (film1, film2 etc.). Leider habe ich keinerlei Ahnung wie ich das umsetzen kann, ohne mein Programm wieder komplett auseinander zunehmen. Hat hier jemand vllt eine Lösung parat?
Dazu gesagt: Ich bin ein absoluter Anfänger.

Java:
LinkedList<Film> filmList = new LinkedList<Film>();
        LinkedList<Blockbuster> blockbuster = new LinkedList<Blockbuster>();
        //String name = "Louis Punak";
        boolean verlängern = true;
        String film1 = "I am Legend";
        String film2 = "Thirty Hours";
        String film3 = "Ronnie Coleman The King";
        String film4 = "Pixels";
        LinkedList<String> searchList = new LinkedList<String>();
        searchList.add(film1);
        searchList.add(film2);
        searchList.add(film3);
        searchList.add(film4);

        //Kunden angelegt
        Kunde Louis;
        Louis = new Kunde();
        Louis.setAlter(19);
        Louis.setKundennummer(1);
        Louis.setMitgliedschaft(true);
        Louis.setName("Louis Punak");
        LinkedList<Kunde> kundenList = new LinkedList<Kunde>();
        kundenList.add(Louis);
        
        //Filmobjekte erstellt
        Blockbuster ThirtyHours;
        ThirtyHours = new Blockbuster();
        ThirtyHours.setArtikelnummer(1);
        ThirtyHours.setPreis(1.99);
        ThirtyHours.setMaxAusleihe(14);
        ThirtyHours.setVorhanden(false);
        ThirtyHours.setAltersbeschränkung(16);
        ThirtyHours.setLaufzeit(144);
        ThirtyHours.setProduktionsland("USA");
        ThirtyHours.setName("Thirty Hours");
        ThirtyHours.setVerlängern(false);

        Blockbuster IamLegend;
        IamLegend = new Blockbuster();
        IamLegend.setArtikelnummer(1);
        IamLegend.setPreis(1.99);
        IamLegend.setMaxAusleihe(14);
        IamLegend.setVorhanden(true);
        IamLegend.setAltersbeschränkung(18);
        IamLegend.setLaufzeit(100);
        IamLegend.setProduktionsland("USA");
        IamLegend.setName("I am Legend");
        IamLegend.setVerlängern(false);

        Klassiker Scarface;
        Scarface = new Klassiker();
        Scarface.setArtikelnummer(2);
        Scarface.setMaxAusleihe(28);
        Scarface.setPreis(0.99);
        Scarface.setVorhanden(true);
        Scarface.setGenre("Drama");
        Scarface.setProduktionsjahr(1983);
        Scarface.setName("Scarface");
        Scarface.setVerlängern(true);


        .....
            
            
        filmList.add(ThirtyHours);
        filmList.add(IamLegend);
        filmList.add(RonnieColeman);
        filmList.add(TheGameChangers);
        filmList.add(Pixels);
        filmList.add(Spongebob);
        filmList.add(Scarface);
        filmList.add(DerPate);
        
        blockbuster.add(ThirtyHours);
        blockbuster.add(IamLegend);
    
        
        
        
        //if()
        
        //Abfrage ob Filme vorhanden sind + Rechnungsausgabe
        for (int i = 0; i < searchList.size(); i++) {
            for (int j = 0; j < filmList.size(); j++) {
                for (int z = 0; z < kundenList.size(); z++) {
                if (filmList.get(j).getName().equals(searchList.get(i))) {
                    if (filmList.get(j).getVorhanden()) {
                        switch (filmList.get(j).getArtikelnummer()) {
                        case 1: {
                            Blockbuster help = (Blockbuster) filmList.get(j);
                            Kunde dummie = (Kunde) kundenList.get(z);
                            if (dummie.getAlter() >= help.getAltersbeschränkung()) {
                                System.out.println("Ausgewählter Film: " + help.getName());
                                System.out.println("Preis: "
                                        + rechnungBlockbuster(help.getPreis(), help.getMaxAusleihe(), help.getVerlängern(),
                                        dummie.getMitgliedschaft(), verlängern) + "€");
                                if(verlängern == true) {
                                System.out.println("Blockbuster sind nicht Verlängerbar!");
                                System.out.println("");

                        }
                                else {
                                    System.out.println("");
                                }
                            }
                            else {
                                System.out.println("Sie erfüllen die Altersbeschänkung für " + help.getName()
                                        + " nicht! : " + help.getAltersbeschränkung() + " Jahre.");
                                System.out.println();
                        }
                    }
                            break;

                        case 2: {
                            Kunde dummie = (Kunde) kundenList.get(z);
                            Klassiker help = (Klassiker) filmList.get(j);
                            System.out.println("Ausgewählter Film: " + help.getName());                   
                            System.out.println("Preis: "
                                    + rechnungKorrekt(help.getPreis(), help.getMaxAusleihe(), verlängern,
                                    dummie.getMitgliedschaft()) + "€");
                            System.out.println("");
                            break;

                        }
                        case 3: {
                            Kunde dummie = (Kunde) kundenList.get(z);
                            Dokumentarfilme help = (Dokumentarfilme) filmList.get(j);
                            System.out.println("Ausgewählter Film: " + help.getName());
                            System.out.println("Preis: "
                                    + rechnungKorrekt(help.getPreis(), help.getMaxAusleihe(), verlängern,
                                    dummie.getMitgliedschaft()) + "€");
                            System.out.println("");
                            break;

                        }

                        case 4: {
                            Kunde dummie = (Kunde) kundenList.get(z);
                            KinderUndJugendfilme help = (KinderUndJugendfilme) filmList.get(j);
                            System.out.println("Ausgewählter Film: " + help.getName());                   
                            System.out.println("Preis: "
                                    + rechnungKorrekt(help.getPreis(), help.getMaxAusleihe(), verlängern,
                                    dummie.getMitgliedschaft()) + "€");
                            if(help.getGeeignetFürDenUnterricht() == true) {
                                System.out.println("Der Film ist für den Unterricht geeignet.");
                            }
                            else {
                                System.out.println("Der Film ist nicht für den Unterricht geeignet.");
                            }
                            break;
                        }
                        default:
                            System.out.println("Ein Fehler ist aufgetreten");
                        }
                    } else {
                        System.out.println("Der Film " + filmList.get(j).getName() + " ist nicht Verfügbar.");
                        System.out.println("");
                    }
                }
            }
        }
    }
        
}

    public static double rechnungKorrekt(double preis, int ausleihzeitraum, boolean verlängern, boolean mitgliedschaft) {
        double versand = 4.0;
        double mwst = 1.07;
        double rabatt = 0.8;
        double result = (preis * ausleihzeitraum) * mwst;           
        if (verlängern == true && mitgliedschaft == true) {
            result = ((preis * (ausleihzeitraum + 14)) * mwst) * rabatt;
            return round(result, 2);

        } else if (verlängern == false && mitgliedschaft == true) {
            result = ((preis * ausleihzeitraum) * mwst) * rabatt;
            return round(result, 2);
        } else if (verlängern == false && mitgliedschaft == false) {
            result = (preis * ausleihzeitraum + versand) * mwst;
            return round(result, 2);
        } else if (verlängern == true && mitgliedschaft == false) {
            result = ((preis * (ausleihzeitraum + 14)) + versand) * mwst;
            return round(result, 2);
        } else
            return 0.0;
        
    }
    
    public static double rechnungBlockbuster(double preis, int maxAusleihe, boolean verlängerbar, boolean mitgliedschaft, boolean verlängernWunsch) {
        double versand = 4.0;
        double mwst = 1.07;
        double rabatt = 0.8;
        double result;
        if(mitgliedschaft == true) {
            result = ((preis * maxAusleihe) * mwst) * rabatt;
            return round(result, 2);
        }
        else {
            result = (preis * maxAusleihe + versand) * mwst;
            return round(result, 2);
        }
    }

    public static double round(double value, int decimalPoints) {
        double d = Math.pow(10, decimalPoints);
        return Math.round(value * d) / d;
    }
}
 
mrBrown

mrBrown

Super-Moderator
Mitarbeiter
In dem Code dort oben ist alles bis Zeile 164 eine Methode??

Dumme Lösung: trag in die searchList einfach nicht zwei Blockbuster beim programmieren ein, da eh alles hardcoded ist, ist das ja kein Problem.


Wenn du es allerdings sinnvoll lösen möchtest, wirst du ziemlich von davon umbauen müssen...
 
T

Tashtego

Gast
Im Endeffekt musst du vor einem Adden zu einer Liste einfach über die bestehenden Einträge loopen und fragen nach If(entry.isBlockbuster) und dann einen boolean ausserhalb der Loop auf true setzen, Break aus der Loop. Dann nach der Loop fragen ob der boolean true ist und nur wenn nicht, den Blockbuster adden. So Mal generell gesprochen.
 
P

Pimbulli

Mitglied
Im Endeffekt musst du vor einem Adden zu einer Liste einfach über die bestehenden Einträge loopen und fragen nach If(entry.isBlockbuster) und dann einen boolean ausserhalb der Loop auf true setzen, Break aus der Loop. Dann nach der Loop fragen ob der boolean true ist und nur wenn nicht, den Blockbuster adden. So Mal generell gesprochen.
könntest du das vllt noch etwas genauer erklären?
 
T

Tashtego

Gast
Wir können gern mal ein paar kleine Nachhilfe Sessions starten wenn du möchtest. Einfach anschreiben oder anmailen, dann setz ich mich mit dir in Verbindung. Ist kein Abo, insofern zahlst du nur für die Stunden, die du benötigst. Viele Grüße
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Objekt bei Auswahl in jList ändern Java Basics - Anfänger-Themen 6
D Auswahl und Ausgabe erstes Programm Java Basics - Anfänger-Themen 8
Moritz1508 Variablen Erstellung eines simplen Taschenrechners mit +/- - Auswahl Java Basics - Anfänger-Themen 2
M Erste Schritte Auswahl in einer JList Java Basics - Anfänger-Themen 2
X Nach switch case weiter mit Auswahl Java Basics - Anfänger-Themen 7
A Grundrechenarten; Aufforderung zur Bestätigung oder Auswahl Java Basics - Anfänger-Themen 25
das_leon if als Auswahl (Anfänger) Java Basics - Anfänger-Themen 1
L Speicherort auswahl Java Basics - Anfänger-Themen 4
M JComboBox Auswahl Java Basics - Anfänger-Themen 10
J JComboBox - Auswahl auslesen Java Basics - Anfänger-Themen 2
P Klassen Mehrseitige Auswahl Java Basics - Anfänger-Themen 6
N Auswahl von Arrays durch Stringeingabe Java Basics - Anfänger-Themen 20
K Auswahl der Grafikbibliothek Java Basics - Anfänger-Themen 9
K Zufällige Auswahl innerhalb eines Arrays und Arrays aus JLabel füllen Java Basics - Anfänger-Themen 32
JAVAnnik JList Auswahl Java Basics - Anfänger-Themen 2
D Erste Schritte Auswahl der richtigen tools Java Basics - Anfänger-Themen 7
R Auf auswahl in ner JComboBox reagieren Java Basics - Anfänger-Themen 3
J select-feld auswahl, jsp javascript Java Basics - Anfänger-Themen 2
J Sortieren nach Auswahl Java Basics - Anfänger-Themen 3
J Keylistener aber wie jTextField auswahl? Java Basics - Anfänger-Themen 3
S FileFilter je nach RadioButton-Auswahl Java Basics - Anfänger-Themen 4
L Auswahl auf welche Art gespeichert werden soll Java Basics - Anfänger-Themen 6
J Taschenrechner Combobox Reaktion auf Auswahl Java Basics - Anfänger-Themen 2
M zufällige auswahl eines Panels aus Grid Layout Java Basics - Anfänger-Themen 3
E Combobox Auswahl überprüfen Java Basics - Anfänger-Themen 7
G Befehl für Ende bei Switch-Auswahl Java Basics - Anfänger-Themen 11
C Bilder Vorschau und Auswahl Java Basics - Anfänger-Themen 4
X JFileChooser Auswahl Java Basics - Anfänger-Themen 4
X Auswahl durch Eingabe von Buchstaben - aber wie? Java Basics - Anfänger-Themen 2
E auswahl von dateien Java Basics - Anfänger-Themen 2
G Auswahl eines Arbeitsverzeichnisses Java Basics - Anfänger-Themen 7
V Tastatur Abfrage im Lisener für eine Auswahl üder Textfeld Java Basics - Anfänger-Themen 8
D Pfad-Auswahl mit dem JFileChooser Java Basics - Anfänger-Themen 8
I Editor auswahl Java Basics - Anfänger-Themen 6
G Auswahl anhand Wahrscheinlichkeiten Java Basics - Anfänger-Themen 5
J dynamische Auswahl einer überladenen Methode Java Basics - Anfänger-Themen 5
R Zweiseitige Auswahl Java Basics - Anfänger-Themen 16
B Auswahl mit switch ? Java Basics - Anfänger-Themen 6
G Schrift-Auswahl-Dialog? Java Basics - Anfänger-Themen 6
P Auswahl von JComboBox abfangen Java Basics - Anfänger-Themen 3
G Auswahl:in File schreiben, oder System.out.print Java Basics - Anfänger-Themen 4
C Auswahl problem Java Basics - Anfänger-Themen 5
W JComboBox- Auswahl schließt komplettes Fenster Java Basics - Anfänger-Themen 10
G Auswahl in DropDown feldern in JSP seiten als Action Aufruf Java Basics - Anfänger-Themen 2
G Filechooser ohne Auswahl für Dateityp Java Basics - Anfänger-Themen 2
D Über Button abhängig von Auswahl 2 versch. Fenster öffnen Java Basics - Anfänger-Themen 2
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
R Mehrere Buchstaben aus einem String entfernen Java Basics - Anfänger-Themen 1
J Alle .java Dateien von einem Verzeichnis in eine Zip speichern Java Basics - Anfänger-Themen 2
J Alle Dateien aus einem Verzeichnis laden Java Basics - Anfänger-Themen 10
H Minimum in einem Array bestimmen Java Basics - Anfänger-Themen 7
J Input/Output Konstruktor ergänzen, der zur Datei mit einem Objekt passt Java Basics - Anfänger-Themen 0
B Quicksort in Verbindung mit einem Projekt Java Basics - Anfänger-Themen 1
P Ein Objekt nach einem String durchsuchen? Java Basics - Anfänger-Themen 7
dieter000 Frage zu einem Beispiel... Java Basics - Anfänger-Themen 5
O Java Weinachtsbaum in einem Bilderramen Java Basics - Anfänger-Themen 5
C Größte Zahl aus einem Array ermitteln(als statische Methode) Java Basics - Anfänger-Themen 31
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
Y Knoten an einem gegebenen Index aus einer Liste entfernen. Java Basics - Anfänger-Themen 6
G Methoden Methode die aus einem Array ein Index ausgibt? Java Basics - Anfänger-Themen 2
J Verschieben von Buchstaben in einem String um vorgegebene Anzahl von Zeichen innerhalb eines weiteren String Java Basics - Anfänger-Themen 12
Kingamadeus2000 Anzahl der Ziffern der kürzesten Zahl aus einem zurückliefern Java Basics - Anfänger-Themen 1
U Muster in einem Array erkennen Java Basics - Anfänger-Themen 8
Y Wie greift man auf die Knoten in einem Binärbaum zu? Java Basics - Anfänger-Themen 5
rafi072001 Lesen aus einem Excel File Java Basics - Anfänger-Themen 10
Y Wie kann man überprüfen, ob bei einem Print Befehl tatsächlich etwas geprintet wurde? Java Basics - Anfänger-Themen 4
J Lösungen zu einem Lückentext finden Java Basics - Anfänger-Themen 0
Z Char Array an zufälligen stellen mit einem "x" füllen. Java Basics - Anfänger-Themen 4
L Alle Ziele in einem Raster abknallen Java Basics - Anfänger-Themen 17
T Auf einem Schachbrett bewegen programmieren Java Basics - Anfänger-Themen 2
F JMenuItem Kann nicht nach einem String benannt werden... Java Basics - Anfänger-Themen 11
H 3 Comparatoren zu einem zusammenfassen - Chaining... Java Basics - Anfänger-Themen 15
N LocalTime einem Objekt zuweisen Java Basics - Anfänger-Themen 2
B Berechnung der Position von Kinderelemente von einem Elternknoten Java Basics - Anfänger-Themen 23
N Länge eines Arrays in einem Objekt testen Java Basics - Anfänger-Themen 51
B Alle Links in einem Text suchen und ersetzen mit einem neuen Link Java Basics - Anfänger-Themen 18
J Elemente in einem 2D-Array summieren Java Basics - Anfänger-Themen 6
J String aus einem Array entfernen Java Basics - Anfänger-Themen 10
L Breadth-First Search statt einem Pfad, alle Pfade herausfinden Java Basics - Anfänger-Themen 4
L Wie frage ich ab, ob in einem Array, Werte doppelt vorkommen? Java Basics - Anfänger-Themen 4
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
P Arraylist zu einem Array bringen mit Verschachtelung Java Basics - Anfänger-Themen 11
S Ersetzen eines Asterix in einem String Java Basics - Anfänger-Themen 8
X Nach einem Bruch testen ob es eine ganze Zahl ist Java Basics - Anfänger-Themen 6
M Von einem JTextField Doublewerte entgegennehmen Java Basics - Anfänger-Themen 2
M Ist es möglich, das größte und zweitgrößte element in einem Array mit nur einer Schleife ausfindig zu machen ? Java Basics - Anfänger-Themen 19
H Objekt aus einem Array löschen Java Basics - Anfänger-Themen 1
F Aufgabe: Abstand von einem Punkt zu einem anderen Punkt Java Basics - Anfänger-Themen 10
H Befehle in einem Menü aktivieren Java Basics - Anfänger-Themen 1
L Anzahl der Elemente key in einem Array mit log(N) Laufzeit Java Basics - Anfänger-Themen 4
FelixN RegEx aus einem String als String-Array zurückgeben Java Basics - Anfänger-Themen 8
B Werte aus einem Unterprogramm in ein Array schreiben Java Basics - Anfänger-Themen 2
L Nur Bestimmte Werte aus einem Array in ein anderes Speichern Java Basics - Anfänger-Themen 11
J erstes Vorkommen eines Chars aus einem String entfernen Java Basics - Anfänger-Themen 3
F Summe in einem Array bestimmen Java Basics - Anfänger-Themen 3
D Alle Möglichkeiten, n-Anzahl aus Elementen aus einem Array zu wählen, ausgeben? Java Basics - Anfänger-Themen 23
B Warum können super() und this() nicht gemeinsam in einem Konstruktor verwendet werden? Java Basics - Anfänger-Themen 7
B String zu einem bestehenden String hinzufügen Java Basics - Anfänger-Themen 9
F Sektglasaufgabe aus einem Programmierbuch Java Basics - Anfänger-Themen 7
B Name von Verzeichnis bekommen - Files von einem Ordner auslesen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Anzeige

Neue Themen


Oben