Hallo allerseits,
ich hoffe jemand kann mir bei meinem Denkfehler helfen. (Kurzfassung am Ende)
Ich habe Informatik (11.Klasse, 2.Lehrjahr) in der Schule und habe zuhause selbst ein eigenes Projekt in BlueJ begonnen, unabhängig vom Unterricht. Dabei versuche ich neue Inhalte aus dem Unterricht spaßeshalber in dem Projekt zu wiederholen.
Zu meinem Projekt: Ich wollte einen Laden/Supermarkt erstellen, der (recht rudimentär) über die Konsole Feedback gibt und über Methodenaufrufe gesteuert wird.
Vor einiger Zeit haben wir in der Schule mit Strukturen wie Array, List, Stack und Queue abgeschlossen, gehen darauf aber nun mit neuem Wissen zurück ans aktive Programmieren. Deshalb wollte ich meinen Laden nun über List neu programmieren, es sollen also alle möglichen Produkte in einer List gespeichert sein.
Unser Lehrer hat uns eine bereits erstellte Klasse List ausgeteilt, anstatt mit ArrayList zu arbeiten. Ich nutze diese Klasse auch in meinem Projekt, sie besitzt soweit ich weiß auch in etwa dieselben Fähigkeiten wie ArrayList und heißt List<ContentType>.
Also war mein Gedankengang für die neue Umsetzung:
- Klasse Produkt erstellen mit den Attributen int Preis, int Warennummer und String Name (bei Preis macht double rückblickend mehr Sinn); siehe Bild
2.Klasse Inventar erstellen, bei der man Produkte in das Inventar einfügen kann, etc.; Sie besitzt eine List<Produkt> produktliste; siehe Bilder (2 und 3)
Insgesamt ist das noch nicht alles durchdacht oder vollständig, und orientiert sich etwas an dem was wir im Unterricht in ähnlicher Form bereits programmiert haben (in Form einer Bibliothek). Ist sicher alles sehr ineffizient und kann besser umgesetzt werden.
Wahrscheinlich lacht ihr über meine Gedankenblockade, aber ich kann mich in keinster Weise mehr daran erinnern, wie ich bei dem Methodenaufruf produktHinzufuegen(Produkt pProdukt) der Klasse Inventar mein nachgefragtes Produkt angebe. Muss ich das mit Schweifklammern angeben, eine bestimmte Methode aufrufen, habe ich etwas bei der Deklarierung etc. vergessen? Ich bin gerade etwas hilflos und habe auch schon verschiedene Eingaben ausprobiert.
Wäre super, wenn jemand mir auf die Sprünge helfen könnte.
Kurzfassung: Laden/Supermarktprojekt in BlueJ, mit einer allgemeinen Klasse Produkt. Über Klasse Inventar können dem Inventar List<Produkt> neue Produkte hinzugefügt werden. Wie gebe ich dieses Produkt bzw. mehrere Produkte bei Methodenaufruf produktHinzufuegen(Produkt pProdukt) korrekt an? Muss ich etwas anders programmieren?
(Netto war das ursprüngliche Projekt mit einer einzigen Klasse und String; die Klasse Laden ist noch leer, abgesehen von der Erzeugung eines Regales vom Typ Inventar)
Gerne nachfragen, falls ich etwas nicht gut erklärt habe oder anderweitig Bilder schicken soll. Für Tipps und allgemeine Verbesserungsvorschläge bin ich immer offen!