Hallo zusammen, hier ist eine Aufgabe und unten ist die Frage an euch. Danke im Voraus.
Erstellen Sie eine „Lagerverwaltung“, die folgende Daten für Kisten speichern kann:
eine eindeutige Nummer zur Identifikation jeder einzelnen Kiste,
die Breite, Länge und Höhe jeder Kiste.
Die Nummer zur Identifikation der Kiste können Sie nach einem beliebigen Schema selbst vergeben. Stellen Sie aber durch geeignete Verfahren sicher, dass bei der Ein
gabe einer neuen Kiste nicht eine bereits vergebene Nummer benutzt wird.
Das Programm soll die Daten der Kisten lediglich zur Laufzeit speichern – also nur so lange, wie das Programm arbeitet. Es sollen maximal Daten von 75 Kisten ver
waltet werden können.
Das Programm soll folgende Funktionen anbieten:
Eingabe einer neuen Kiste,
Löschen der Daten einer vorhandenen Kiste,
Ändern der Daten einer vorhandenen Kiste,
Anzeigen der Daten einer vorhandenen Kiste und
eine Listenfunktion, die die Daten aller vorhandenen Kisten anzeigt.
Beim Löschen, Ändern und Anzeigen soll der Zugriff auf die Daten der Kiste über die Nummer der Kiste erfolgen.
Für die Umsetzung gelten folgende Vorgaben:
Speichern Sie die Daten in einem mehrdimensionalen Array. Erstellen Sie dieses Array lokal in der Methode main(). Verwenden Sie bitte keine Klassenvariable für das Array.
Stellen Sie sicher, dass beim Zugriff auf die Daten der Kisten die Grenzen des Arrays nicht verlassen werden.
Erstellen Sie für das Eingeben, Löschen, Ändern, Anzeigen und Auflisten jeweils eigene Methoden.
Sorgen Sie dafür, dass beim Löschen, Ändern, Anzeigen und Auflisten nur auf Einträge zugegriffen werden kann, für die bereits Daten erfasst wurden. Dazu können Sie zum Beispiel überprüfen, ob die Nummer der Kiste noch den Wert 0 hat, der beim Anlegen des Arrays automatisch zugewiesen wird. Um eine Kiste zu löschen, reicht es dann, die Nummer der Kiste wieder auf den Wert 0 zu set
zen.
Erstellen Sie in der Methode main() ein Auswahlmenü für den Zugriff auf die einzelnen Funktionen der Lagerverwaltung.
Kommentieren Sie sowohl die verwendeten Variablen als auch die Methoden. Geben Sie bei den Methoden bitte eine kurze Beschreibung der Funktionsweise, der verwendeten Argumente und eines eventuellen Rückgabewerts an.
Bitte um Antworten, ob die Aufgabenstellung so erfüllt ist. Wenn nicht, was soll, muss verbessert werden?
Erstellen Sie eine „Lagerverwaltung“, die folgende Daten für Kisten speichern kann:
eine eindeutige Nummer zur Identifikation jeder einzelnen Kiste,
die Breite, Länge und Höhe jeder Kiste.
Die Nummer zur Identifikation der Kiste können Sie nach einem beliebigen Schema selbst vergeben. Stellen Sie aber durch geeignete Verfahren sicher, dass bei der Ein
gabe einer neuen Kiste nicht eine bereits vergebene Nummer benutzt wird.
Das Programm soll die Daten der Kisten lediglich zur Laufzeit speichern – also nur so lange, wie das Programm arbeitet. Es sollen maximal Daten von 75 Kisten ver
waltet werden können.
Das Programm soll folgende Funktionen anbieten:
Eingabe einer neuen Kiste,
Löschen der Daten einer vorhandenen Kiste,
Ändern der Daten einer vorhandenen Kiste,
Anzeigen der Daten einer vorhandenen Kiste und
eine Listenfunktion, die die Daten aller vorhandenen Kisten anzeigt.
Beim Löschen, Ändern und Anzeigen soll der Zugriff auf die Daten der Kiste über die Nummer der Kiste erfolgen.
Für die Umsetzung gelten folgende Vorgaben:
Speichern Sie die Daten in einem mehrdimensionalen Array. Erstellen Sie dieses Array lokal in der Methode main(). Verwenden Sie bitte keine Klassenvariable für das Array.
Stellen Sie sicher, dass beim Zugriff auf die Daten der Kisten die Grenzen des Arrays nicht verlassen werden.
Erstellen Sie für das Eingeben, Löschen, Ändern, Anzeigen und Auflisten jeweils eigene Methoden.
Sorgen Sie dafür, dass beim Löschen, Ändern, Anzeigen und Auflisten nur auf Einträge zugegriffen werden kann, für die bereits Daten erfasst wurden. Dazu können Sie zum Beispiel überprüfen, ob die Nummer der Kiste noch den Wert 0 hat, der beim Anlegen des Arrays automatisch zugewiesen wird. Um eine Kiste zu löschen, reicht es dann, die Nummer der Kiste wieder auf den Wert 0 zu set
zen.
Erstellen Sie in der Methode main() ein Auswahlmenü für den Zugriff auf die einzelnen Funktionen der Lagerverwaltung.
Kommentieren Sie sowohl die verwendeten Variablen als auch die Methoden. Geben Sie bei den Methoden bitte eine kurze Beschreibung der Funktionsweise, der verwendeten Argumente und eines eventuellen Rückgabewerts an.
Java:
public class Lagerverwaltung {
//2d array
private Kiste kiste[][] = new Kiste[75][1];
//Konstruktor
public Lagerverwaltung(Kiste[][] k) {
this.kiste = k;
}
//legt eine neue Kiste an, an der Stelle, an der die erste Null als id ist
public void kisteAnlegen(int l, int h, int b) {
for (int i = 0; i < kiste.length; ++i) {
if (kiste[i][0] == null) {
Kiste k = new Kiste(l, h, b, i);
kiste[i][0] = k;
i = kiste.length;
}
}
}
//löscht die Daten anhand der id
public void datenLoeschen(int id) {
for (int i = 0; i < kiste.length; ++i) {
if (kiste[i][0] != null) {
if (kiste[i][0].getId() == id) {
kiste[i][0] = null;
}
}
}
}
//ändert die daten anhand der id und der zu änderen werte
public void datenAendern(int id, int l, int h, int b) {
for (int i = 0; i < kiste.length; i++) {
if (kiste[i][0] != null) {
if (kiste[i][0].getId() == id) {
kiste[i][0].setLaenge(l);
kiste[i][0].setHoehe(h);
kiste[i][0].setBreite(b);
i = kiste.length;
}
}
}
}
//zeigt die werte an, anhand der id
public void anzeigen(int id) {
System.out.println("ID " + kiste[id][0].getId() + " Höhe " + kiste[id][0].getHoehe() + " Länge " + kiste[id][0].getLaenge() + " Breite " + kiste[id][0].getBreite());
}
//die Methode zeigt alle vorhandenen Werte an && ruft anzeigen() auf
public void alleAnzeigen() {
for (int i = 0; i < kiste.length; ++i) {
if (kiste[i][0] != null) {
anzeigen(kiste[i][0].getId());
}
}
System.out.println();
}}
Java:
public class Kiste {
private int id;
private int laenge;
private int hoehe;
private int breite;
public Kiste(int laenge, int breite, int hoehe, int id){
this.laenge = laenge;
this.hoehe= hoehe;
this.breite = breite;
this.id= id;
}
public void anzeigen() {
System.out.println("ID " + getId() + " Breite " +getBreite() + " Länge " + getLaenge() + " Höhe " + getHoehe());
}
public int getId() {
return id;
}
public void setID(int id){
this.id=id;
}
public int getLaenge() {
return laenge;
}
public void setLaenge(int laenge) {
this.laenge = laenge;
}
public int getHoehe() {
return hoehe;
}
public void setHoehe(int hoehe) {
this.hoehe = hoehe;
}
public int getBreite() {
return breite;
}
public void setBreite(int breite) {
this.breite = breite;
}
}
Java:
public class Main{
//main Methode
public static void main(String[] args) {
Kiste[][] k2 = new Kiste[75][1];
Lagerverwaltung l = new Lagerverwaltung(k2);
l.kisteAnlegen(1, 1, 1);
l.kisteAnlegen(2, 2, 2);
l.kisteAnlegen(3, 3, 3);
l.kisteAnlegen(4, 4, 4);
l.alleAnzeigen();
l.datenLoeschen(2);
l.alleAnzeigen();
l.datenAendern(3, 9, 9, 9);
l.alleAnzeigen();
}
}
Bitte um Antworten, ob die Aufgabenstellung so erfüllt ist. Wenn nicht, was soll, muss verbessert werden?