Kleines Java-Projekt; Kassenprogramm

Schwitzer

Mitglied
Hallo zusammen,

ich habe folgendes Anliegen:

Ich möchte ein kleines Projekt in Java angehen. Ich hatte bereits vor einiger Zeit mit Java und Programmieren an sich zu tun, jedoch war ich damals unmotiviert und dementsprechend ging das meiste an mir vorbei.

Ziel:

Eine Art "Kassenprogramm", quasi ein verbesserter Taschenrechner.


Es gibt Hin- und Rückfahrt. Hinfahrt wird durch die Taste 1 gewählt, Hin- und Rückfahrt durch die Taste 2.
Des weiteren gibt es 3 Personenarten (Erwachsene , Kinder, Senioren) welche durch das Drücken der Tasten 1-3 ausgewählt werden können. Die Erwachsenen liegen auf der Taste mit der 1, Kinder auf der 2, Senioren auf der 3.
Danach soll überprüft werden, ob diese Ermäßigungen erhalten, jeweils mit Taste 1 bejahen oder Taste 2 verneinen.

Die Preise sollen sich dann automatisch addieren und letztendlich der Preis ausgeben werden.
Beispiel:
Erwachsene: Hinfahrt 5€; Hin- Rückfahrt 9€
Ermäßigt: 4€ und 8€
Kinder: Hinfahrt 3,50€; Hin- Rückfahrt 7€
Ermäßigt: 2,50€ und 6€
Senioren: Hinfahrt 4€, Hin- Rückfahrt 8€
Ermäßigt: 3€ und 7€

Der Fall, dass jemand Hinfahrten und Hin- und Rückfahrten bucht ist eher unwahrscheinlich und würde ich daher erst einmal auslassen.
(Würde ansonsten ja dann ein exit verwendt werden müssen, um aus der Abfrage zu kommen, oder?)

Ist einmal das gewünschte "Packet" ausgewählt, sollte eingetippt werden können, mit welchen Betrag der Kunde zahlt, um das auszugebende Rückgeld ausrechnen lassen zu können.

Die Daten sollten jeweils gespeichert werden, um am Ende des Tages den Gesamtbetrag und die Anzahl und die Arten der verkauften Fahrten ausgeben lassen zu können. (Jeweils pro Personenart)

Der Visualisierung im einem "Fenster" bin ich noch einigermaßen gewachsen, hoffe ich zumindest. ^^

Ich wäre euch sehr dankbar, wenn ihr mir ein bisschen auf die Sprüngen helfen könntet. Ich habe das Meiste noch Dunkel in Erinnerung, wünschte jedoch ich hätte in der Schule besser aufgepasst. Leider hatten wir drei Jahre lang fast ausschließlich Theorie, dementsprechend verlor man die Lust an der Praxis.
 

mihe7

Top Contributor
Natürlich kann man Dir helfen, dazu müsstest Du allerdings konkrete Fragen stellen :) "Ich möchte eine Anwendung X schreiben, kann mir jemand helfen?" ist viel zu allgemein.

Ebenso allgemein: vergiss am Anfang das (grafische) User Interface, das dient nur der Show.
 
M

Mart

Gast
für das Addieren der Preise eignet sich das Dekorator Pattern


in dem Link finde ich alle beipsiele komplex außer das von java mit dem Kaffee das ist gut weils schön kurz ist, damit kannst du dein addieren umsetzen oder klassisch mit plus .. aber das ist ja langweilig :D
 

Schwitzer

Mitglied
Natürlich kann man Dir helfen, dazu müsstest Du allerdings konkrete Fragen stellen :) "Ich möchte eine Anwendung X schreiben, kann mir jemand helfen?" ist viel zu allgemein.

Ebenso allgemein: vergiss am Anfang das (grafische) User Interface, das dient nur der Show.
Alles klar, danke für die Rückmeldung, wird gemacht.
Ich bin mir nicht sicher, wie das Ganze am einfachsten zu realisieren wäre. Gerade mit Blick auf Abfragen und wie ich das ganze in die Tabelle lade, jedoch dass es einzeln ausgegeben wird.
Ich habe meinen Aufgaben früher in der Schule meist auf einem Harakiri-Weg gelöst, war nicht immer so effizient.
 

Neumi5694

Top Contributor
Alles klar, danke für die Rückmeldung, wird gemacht.
Ich bin mir nicht sicher, wie das Ganze am einfachsten zu realisieren wäre. Gerade mit Blick auf Abfragen und wie ich das ganze in die Tabelle lade, jedoch dass es einzeln ausgegeben wird.
Ich habe meinen Aufgaben früher in der Schule meist auf einem Harakiri-Weg gelöst, war nicht immer so effizient.
Von einer Tabelle -> Einzeln ist kein Problem, dafür gibt's Schleifen und Indizes. Verwende aber keine zweidimensionalen Arrays, sondern eine Liste von Instanzen einer Klasse, die eine Altersgruppe beschreibt.

Welche Informationen gibt es über einen Altersgruppe? Beschreibung, PreisEinzelfahrt,PreisHinUndZurueck. Erstelle eine Klasse, die das speichern kann. Dann brauchst du nur noch eine Liste von Instanzen dieser Klasse, um alle Informationen zu speichern.
Für die Ausgabe schreib zuerst was, das EIN Element dieser Liste ausgibt, dann wende alle Elemente dieser Liste darauf an.

Was Algorithmen angeht, empfiehlt es sich bei solchen Sachen immer zu überlegen, wie man es auf dem Blatt machen würde.
 

mihe7

Top Contributor
Gerade mit Blick auf Abfragen und wie ich das ganze in die Tabelle lade, jedoch dass es einzeln ausgegeben wird.
Auch das ist erstmal völlig uninteressant. Du musst Dir erstmal ansehen, mit welchen Objekten Du es zu tun hast. @Neumi5694 hat das schon anhand von Altersgruppen beschrieben. Ich hätte Tarif dazu gesagt, das ist aber nur eine Frage der Bezeichnung, da der Aufbau identisch ist.

Ich bleib mal bei meiner Terminologie: es gibt einen Erwachsenen-, Kinder- und Senioren-Tarif, sowohl normal als auch ermäßigt. Jeder Tarif hat also eine Bezeichnung, einen Preis für die Hinfahrt sowie einen Preis für die Hin- und Rückfahrt. Du siehst: der Aufbau ist identisch zu dem von @Neumi5694 beschriebenen.

Auf der anderen Seite soll ja eine "Rechnung" entstehen. Auf der können sich mehrere Positionen befinden und jede Position muss es ermöglichen, auch im Nachhinein festzustellen, ob ich eine Hinfahrt oder eine Hin- und Rückfahrt und in welchem Tarif ich diese gebucht habe und natürlich auch, welchen Preis ich dafür bezahlen muss(te). Evtl. möchte man auch die Anzahl hinzunehmen, das kannst Du Dir dann alles überlegen.

Damit müsste ich dann schon in der Lage sein, in Pseudocode z. B. schreiben zu können:
Java:
Tarif erwachseneNormaltarif = new Tarif("Erw. (Normaltarif)", 5, 9);
Rechnungsposition pos1 = new Rechnungsposition(HINFAHRT, erwachseneNormaltarif);
Rechnungsposition pos2 = new Rechnungsposition(HIN_RUECK, erwachseneNormaltarif);
Rechnung rechnung = new Rechnung(123, LocalDateTime.now(), List.of(pos1, pos2));
Mit etwas zusätzlichem Auwand (entsprechenden Methoden) ließe sich dann z. B. schon eine Ausgabe der Art
Code:
Rechnung #123 vom 04.01.2021, 14:56 Uhr

Pos Bezeichnung                      Preis
------------------------------------------
  1 Hinfahrt, Erw. (Normaltarif)    5,00 €
  2 Hin-/Rück, Erw. (Normaltarif)   9,00 €
                                  --------
                                   14,00 €
                                  ========
generieren.

Das Modell ist keineswegs vollständig und es gibt natürlich auch ein paar "Fallstricke" aber Du sollst Dir ja selbst Gedanken dazu machen :)
 

Schwitzer

Mitglied
Auch das ist erstmal völlig uninteressant. Du musst Dir erstmal ansehen, mit welchen Objekten Du es zu tun hast. @Neumi5694 hat das schon anhand von Altersgruppen beschrieben. Ich hätte Tarif dazu gesagt, das ist aber nur eine Frage der Bezeichnung, da der Aufbau identisch ist.

Ich bleib mal bei meiner Terminologie: es gibt einen Erwachsenen-, Kinder- und Senioren-Tarif, sowohl normal als auch ermäßigt. Jeder Tarif hat also eine Bezeichnung, einen Preis für die Hinfahrt sowie einen Preis für die Hin- und Rückfahrt. Du siehst: der Aufbau ist identisch zu dem von @Neumi5694 beschriebenen.

Auf der anderen Seite soll ja eine "Rechnung" entstehen. Auf der können sich mehrere Positionen befinden und jede Position muss es ermöglichen, auch im Nachhinein festzustellen, ob ich eine Hinfahrt oder eine Hin- und Rückfahrt und in welchem Tarif ich diese gebucht habe und natürlich auch, welchen Preis ich dafür bezahlen muss(te). Evtl. möchte man auch die Anzahl hinzunehmen, das kannst Du Dir dann alles überlegen.

Damit müsste ich dann schon in der Lage sein, in Pseudocode z. B. schreiben zu können:
Java:
Tarif erwachseneNormaltarif = new Tarif("Erw. (Normaltarif)", 5, 9);
Rechnungsposition pos1 = new Rechnungsposition(HINFAHRT, erwachseneNormaltarif);
Rechnungsposition pos2 = new Rechnungsposition(HIN_RUECK, erwachseneNormaltarif);
Rechnung rechnung = new Rechnung(123, LocalDateTime.now(), List.of(pos1, pos2));
Mit etwas zusätzlichem Auwand (entsprechenden Methoden) ließe sich dann z. B. schon eine Ausgabe der Art
Code:
Rechnung #123 vom 04.01.2021, 14:56 Uhr

Pos Bezeichnung                      Preis
------------------------------------------
  1 Hinfahrt, Erw. (Normaltarif)    5,00 €
  2 Hin-/Rück, Erw. (Normaltarif)   9,00 €
                                  --------
                                   14,00 €
                                  ========
generieren.

Das Modell ist keineswegs vollständig und es gibt natürlich auch ein paar "Fallstricke" aber Du sollst Dir ja selbst Gedanken dazu machen :)
Vielen Dank vorerst an dich und @Neumi5694

Werde heute Abend bei Gelegenheit ein Klassendiagramm etc anfertigen.

Wäre es sinnvoller zur Auswahl der Personenarten einen Keylistener oder eine Abfrage zu benutzen?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
G Erste Schritte Suche Java Programmierer für kleines Projekt Java Basics - Anfänger-Themen 1
K Erstes kleines Spieleprojekt - Java GUI in HTML einbinden Java Basics - Anfänger-Themen 3
R Kleines Java Spiel funktioniert nicht. Java Basics - Anfänger-Themen 2
K Kleines Spiel auf Java programmieren Java Basics - Anfänger-Themen 2
B Suche kleines Java-Applet Java Basics - Anfänger-Themen 6
S Kleines Kartenspiel mit Java Java Basics - Anfänger-Themen 2
J Java, kleines denkproblem. :) Java Basics - Anfänger-Themen 4
G ein kleines java prog - hat aber einen fehler-bitte um hilfe Java Basics - Anfänger-Themen 5
M kleines Java Programm (Verwaltung) Java Basics - Anfänger-Themen 16
C kleines Java script mit Frage Java Basics - Anfänger-Themen 2
Kotelettklopfer Kleines Testprogramm mit Interface und einer Usereingabe Java Basics - Anfänger-Themen 16
Koookie Kleines Frage - Antwort Programm (Anfänger) Java Basics - Anfänger-Themen 5
J Kleines Rechenprogramm Java Basics - Anfänger-Themen 13
Z Erste Schritte Kleines 2D. Spiel Objekt Bewegung funktioniert nicht Java Basics - Anfänger-Themen 2
B Input/Output Kleines Netzwerkproblem Java Basics - Anfänger-Themen 2
J OOP Kleines Schülerverwaltungsprogramm Java Basics - Anfänger-Themen 9
F Methoden Kleines Problem mit meinem Glücksrad... Java Basics - Anfänger-Themen 9
N ein kleines GUI mit einem hauch XML Java Basics - Anfänger-Themen 5
T erstes kleines Programm Java Basics - Anfänger-Themen 17
S Kleines Quiz Programm Java Basics - Anfänger-Themen 4
C Hilfe - Kleines Programm macht mir Schwierigkeiten Java Basics - Anfänger-Themen 2
A Kleines Abbruch-Problem mit Do-While-Schleife Java Basics - Anfänger-Themen 4
K Ein kleines Rätsel Java Basics - Anfänger-Themen 2
E Erstes "kleines" Programm Java Basics - Anfänger-Themen 5
D kleines problem bei system.out.println schreibweise Java Basics - Anfänger-Themen 6
C Kleines Problem mit System.out.print Java Basics - Anfänger-Themen 1
A Best Practice Ideen für kleines Anfängerschulprojekt gesucht Java Basics - Anfänger-Themen 4
J kleines Karteikartenprogramm Java Basics - Anfänger-Themen 3
S Kleines Zeichen berechnen Java Basics - Anfänger-Themen 5
fLooojava kleines Projekt - Verwendung von Youtube Java Basics - Anfänger-Themen 22
E Array zu Liste - kleines Problem Java Basics - Anfänger-Themen 6
fLooojava Passwort generieren - kleines Programm Java Basics - Anfänger-Themen 15
H Kleines Prob Java Basics - Anfänger-Themen 5
J Vererbung Kleines Problem bei Vererbung! Java Basics - Anfänger-Themen 2
O Debug-Funktion mit Slick - Kleines Problem Java Basics - Anfänger-Themen 5
J Flaechen vergleichen/kleines Fehler? Java Basics - Anfänger-Themen 23
H Kleines Problem bei den Schleifen Java Basics - Anfänger-Themen 5
M Kleines Problem mit der Rekursion Java Basics - Anfänger-Themen 20
K Kleines Projekt Java Basics - Anfänger-Themen 2
T Kleines Game mit Kollision Java Basics - Anfänger-Themen 2
J Mal wieder ein kleines Toleranzproblem Java Basics - Anfänger-Themen 20
H kleines Spiel [Processing] Java Basics - Anfänger-Themen 7
T kleines problem mit switch case Java Basics - Anfänger-Themen 11
R Kleines Programm, benötige Hilfe! Java Basics - Anfänger-Themen 6
V Schon wieder ein kleines problem...dieses mal mit do-while loop Java Basics - Anfänger-Themen 9
R Login mit Datenbankabfrage: Kleines Problem! Java Basics - Anfänger-Themen 6
K Kleines Anfänger Problem bei der Abfrage Java Basics - Anfänger-Themen 8
X Kleines JMenuBar Problem Java Basics - Anfänger-Themen 8
D Kleines Abfrageproblem Java Basics - Anfänger-Themen 3
K kleines Rekursionsproblem Java Basics - Anfänger-Themen 7
P RSA Verschlüsselung kleines Problem Java Basics - Anfänger-Themen 5
P Kleines Problemm mit einer NullPointerException Java Basics - Anfänger-Themen 2
R kleines Kunstprogramm "mkbox" perfektionieren Java Basics - Anfänger-Themen 13
P wahrscheinlich ein kleines Problem Java Basics - Anfänger-Themen 7
P Kleines Projekt -> Große Überlegungen Java Basics - Anfänger-Themen 2
U Bitte Helfen kleines Spiel Java Basics - Anfänger-Themen 9
K Kleines Spiel / Daten speichern Java Basics - Anfänger-Themen 8
T Kleines Spiel realisieren - wie? Java Basics - Anfänger-Themen 6
H Kleines Problem mit der Polymorphie Java Basics - Anfänger-Themen 2
S "Kleines" Problem mit dem Timer Java Basics - Anfänger-Themen 4
K kleines Array-Problem Java Basics - Anfänger-Themen 6
C Kleines 2D Spiel. Problem. Java Basics - Anfänger-Themen 5
T Kleines Verständnissproblem mit Regex Java Basics - Anfänger-Themen 4
U Kleines Problem mit Konstruktor^^ Java Basics - Anfänger-Themen 7
D kleines Eclipse-Problem ! Java Basics - Anfänger-Themen 2
I Kleines Program, fehler? Java Basics - Anfänger-Themen 2
S kleines Würfelspiel Java Basics - Anfänger-Themen 10
0 Frage zu Architektur: Server eines kleines Spiels Java Basics - Anfänger-Themen 4
F kleines Programm für ungerade oder gerade Zahl. Java Basics - Anfänger-Themen 18
C kleines Menü erzeugen und anzeigen Java Basics - Anfänger-Themen 11
S Kleines TickTackTou Java Basics - Anfänger-Themen 10
O Kleines Problem mit Konstruktor mit Parametern aus generischer Klasse...oder so ;) Java Basics - Anfänger-Themen 2
M Kleines Problem mit Threads (synchronized) Java Basics - Anfänger-Themen 3
N Kleines Problemchen mit ButtonGroup Java Basics - Anfänger-Themen 2
W ein kleines Projekt! Aber wie beginnen Java Basics - Anfänger-Themen 4
S Kleines Problem... NaN, Infinity? Java Basics - Anfänger-Themen 9
B Drag and Drop fähige Trackliste..nurnoch ein kleines Problem Java Basics - Anfänger-Themen 16
G Kleines Problem mit File Java Basics - Anfänger-Themen 7
O Neuen Blackberry 8800 oder Curve gegen kleines Programm Java Basics - Anfänger-Themen 9
Z kleines projekt Java Basics - Anfänger-Themen 3
GambaJo Brauche Bewertung + Tipps für mein kleines Projekt Java Basics - Anfänger-Themen 4
N Nur ein kleines Installationsproblem . Java Basics - Anfänger-Themen 5
G Kleines Problem mit Nimmspiel Java Basics - Anfänger-Themen 8
U kleines problem bei ner aufgabe :( Java Basics - Anfänger-Themen 8
G Kleines Problem mit Array Java Basics - Anfänger-Themen 14
S Kleines Programm mit ArrayList Java Basics - Anfänger-Themen 7
M Kleines Programm Java Basics - Anfänger-Themen 5
M DBCP - Kleines Beispiel Java Basics - Anfänger-Themen 3
R Unicode-Wert in Binär und Dezimal umformen - kleines Problem Java Basics - Anfänger-Themen 1
G Kleines Problem Java Basics - Anfänger-Themen 3
D kleines script abhaengig von Ordner Bilder kopieren Java Basics - Anfänger-Themen 11
G Kleines Grundsatzproblem Java Basics - Anfänger-Themen 5
S Ich habe ein kleines Problem mit meinem Übungsprogramm Java Basics - Anfänger-Themen 7
S Hab ein kleines Problem :) Java Basics - Anfänger-Themen 4
K kleines bild ausgeben Java Basics - Anfänger-Themen 4
D noch ein kleines Problem Java Basics - Anfänger-Themen 4
M kleines generics problem Java Basics - Anfänger-Themen 15
B Kleines? Jedenfalls Problem mit Borland-Together! Java Basics - Anfänger-Themen 4
K Kleines Programm zur Stapelverarbeitung schreiben, aber wie? Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben