diff --git a/src/de/itstall/Karton.java b/src/de/itstall/Karton.java new file mode 100644 index 0000000000000000000000000000000000000000..1108785ce8a835048379703477a1b9e34b1ba037 --- /dev/null +++ b/src/de/itstall/Karton.java @@ -0,0 +1,23 @@ +package de.itstall; + +public class Karton<T> { + + private T objekt; + private String bezeichnung; + + public T getObjekt() { + return objekt; + } + + public void setObjekt(T objekt) { + this.objekt = objekt; + } + + public String getBezeichnung() { + return bezeichnung; + } + + public void setBezeichnung(String bezeichnung) { + this.bezeichnung = bezeichnung; + } +} diff --git a/src/de/itstall/Lager.java b/src/de/itstall/Lager.java index 218d00b638b441cfa4acce0858649b2efda64527..7115f9d05fc77e43155810bb676814bf74895515 100644 --- a/src/de/itstall/Lager.java +++ b/src/de/itstall/Lager.java @@ -6,11 +6,17 @@ import java.util.ArrayList; * Klasse zur Verwaltung der Lager */ public class Lager { - private int regalLagerplaetze; - /** Liste der Regale im aktuellen Lager */ + /** + * Liste der Regale im aktuellen Lager + */ ArrayList<Regal> lagerListe = new ArrayList<>(); + /** + * Anzahl der Lagerplaetze pro Regal + */ + private int regalLagerplaetze; + /** * Der Konstruktor legt gleich schon mal ein Regal an und legt auch die Lagerplaetze pro Regal fest * @@ -21,6 +27,11 @@ public class Lager { this.addRegal(this.regalLagerplaetze); } + /** + * Gibt die Anzahl der Regal Lagerplaetze zurueck + * + * @return int : Anzahl der Lagerplaetze pro Regal + */ public int getRegalLagerplaetze() { return this.regalLagerplaetze; } @@ -34,13 +45,32 @@ public class Lager { this.lagerListe.add(new Regal(lagerplaetze)); } + /** + * Sucht auf den Lagerplaetzen nach einem Objekt und gibt den Lagerplatz zurueck + * + * @param o : Object : Das zu suchende Object + * @return Object : Lagerplatz + */ + public Karton<?> finden(Karton<?> o) { + for(Regal regal : lagerListe) { + for(Lager.Regal.Lagerplatz lagerplatz : regal.lagerplaetzListe) { + for(Object o1 : lagerplatz.lagerWarenListe) { + System.out.println(o1.toString()); + } + } + } + return null; + } + /** * Klasse zur Verwaltung der Regale * Ein Regal kan max. fünf Lagerplaetze besitzen */ - public class Regal extends Lager { + public class Regal { - /** Liste der Lagerplaetze in dem aktuellen Regal */ + /** + * Liste der Lagerplaetze in dem aktuellen Regal + */ ArrayList<Lagerplatz> lagerplaetzListe = new ArrayList<>(); /** @@ -55,7 +85,7 @@ public class Lager { * @return boolean : Erfolgreich? */ public Regal(int lagerplaetze) { - if(lagerplaetze > 0 && lagerplaetze <= 5) { + if (lagerplaetze > 0 && lagerplaetze <= 5) { this.setLagerplaetze(lagerplaetze); } } @@ -71,7 +101,7 @@ public class Lager { /** * Setzt die Lagerplaetze auf die uebergebene int Zahl und prueft ob die Zahl gueltig ist - * + * <p> * Gueltigkeitsbereich 1-5 * * @param lagerplaetze : int : Anzahl der Lagerplaetze @@ -80,14 +110,21 @@ public class Lager { this.lagerplaetze = lagerplaetze; } + /** + * Wenn im aktuellen Regal noch ein Lagerplatz frei ist, wird ein Platz abgezogen. + * Ansonten wird ein neues Regal angebaut. + */ public void einlagern() { - if(this.lagerplaetze > 0) { + if (this.lagerplaetze > 0) { this.lagerplaetze--; } else { - super.addRegal(super.getRegalLagerplaetze()); + Lager.this.addRegal(Lager.this.getRegalLagerplaetze()); } } + /** + * Gibt einen Lagerplatz wieder frei + */ public void entnehmen() { this.lagerplaetze++; } @@ -96,9 +133,11 @@ public class Lager { * Klasse zur Verwaltung der Lagerplaetze * Ein Regal kann max. fuenf Lagerplaetze haben. */ - public class Lagerplatz { + public class Lagerplatz { - /** Liste der Waren im aktuellen lagerplatz */ + /** + * Liste der Waren im aktuellen lagerplatz + */ ArrayList<Object> lagerWarenListe = new ArrayList<>(); /** @@ -106,8 +145,8 @@ public class Lager { * * @param o : Object : Das einzulagernde Object */ - public void einlagern(Object o) { - if(Regal.this.getRegalLagerplaetze() > Lager.Regal.this.getLagerplaetze()) { + public void einlagern(Karton<?> o) { + if (Lager.this.getRegalLagerplaetze() > Lager.Regal.this.getLagerplaetze()) { this.lagerWarenListe.add(o); Regal.this.einlagern(); } @@ -115,28 +154,17 @@ public class Lager { /** * Objekt einem Lagerplatz entnehmen und den Platz wieder freigeben - * + * <p> * -> Kontrollieren auf welchem Lagerplatz sich das Objekt befindet * * @param o : Object : Das zu entnehmende Object * @return boolean : Erfolgreich entnommen? */ - public boolean entnehmen(Object o) { + public boolean entnehmen(Karton<?> o) { return false; } - /** - * Sucht auf den Lagerplaetzen nach einem Objekt und gibt den Lagerplatz zurueck - * - * @param o : Object : Das zu suchende Object - * @return Object : Lagerplatz - * */ - public Object finden(Object o) { - - return null; - } - } } diff --git a/src/de/itstall/Main.java b/src/de/itstall/Main.java index a33080dc1f1b2778e256314a65747324dd7793cc..dccfc5921083010ab66e4144e51568f3e07564fc 100644 --- a/src/de/itstall/Main.java +++ b/src/de/itstall/Main.java @@ -1,5 +1,7 @@ package de.itstall; +import de.itstall.Lager.Regal; + public class Main { /** @@ -13,6 +15,18 @@ public class Main { * @param args */ public static void main(String[] args) { - // write your code here + Karton<?> karton = new Karton<>(); + karton.setBezeichnung("Test"); + + Lager lager = new Lager(); + + for(Regal regal : lager.lagerListe) { + + } + + Regal lagerListe = lager.lagerListe; + Lager.Regal.Lagerplatz lagerplatz = lagerListe.new Lagerplatz(); + + lagerplatz.einlagern(karton); } }