Ich bin am Lösen folgender Aufgabe:
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.
Lösungsansatz:
mehrdimensionales Array, welches in main angelegt wird.
Entwurf (zum Verständnis):
int[][] kistenArray= {{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 28, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, bis 75}, { Breite 75*}, {Länge 75*}, {Höhe 75*}};
also ist die Ausgabe für die erste Kiste z.B.:
1. [] es gibt ja 4 innere Arrrays, also muss in der ausgabe die erste Zahl der Zahl einer der inneren arrays entsprechen. index 0-3
2. [] muss dem index in dem ausgewählten array (1 von den 4) entsprechen, welcher index in dem ausgewählten array. index 0-74 (welche Kiste Nr. Länge, Breite, Höhe welcher kiste)
Bsp.:
[0][50] = 51.te Kiste
[1][49] = Breite der 50.ten Kiste, weil Breite ja in der 2.ten array = index 1 steht.
ich habe jetzt hier etwas zusammengecoded (noch fehlerhaft), es soll der Entwurf sein.
Entwurf des Codes:
Bitte um eure Unterstützung bei der Lösung dieser Aufgabe.
Wie soll ich meinen Code verbessern, welcher ansatz passt und welcher ist unangebracht und muss abgeändert werden.
Falls jemand die komplette Aufgabenlösung hat, bitte posten. Das wäre super.
Danke im Voraus
Codix
Nochmals, die Überlegungen zu der Aufgabe:
die Überlegungen zum Lösen der einzelnen Aufgabenteile sind in Lila.
1.
Erstellen Sie eine „Lagerverwaltung“, die folgende Daten für Kisten speichern kann:
•
public class Lagerverwaltung
eine eindeutige Nummer zur Identifikation jeder einzelnen Kiste,
kisteNr1 (vllt von 1 bis 75) Schleife
Lagerverwaltung kiste = new kiste (breite,länge,höhe)
•
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,
JOption.Pane Methode
•
Löschen der Daten einer vorhandenen Kiste,
kiste.löschen Methode
•
Ändern der Daten einer vorhandenen Kiste,
kiste.datenÄndern methode
•
Anzeigen der Daten einer vorhandenen Kiste und
kiste.datenAnzeigen methode
•
eine Listenfunktion, die die Daten aller vorhandenen Kisten anzeigt.
vllt davor alle Kisten als eine Variable anlegen
kisten.datenAnzeigen
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.
mehrdimensionales Array anlegen in der main()
•
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 setzen.
if, else Schleife,
if 0, dann löschen
else 1-75, anweisung: anzeigen, Ändern methode anwenden
•
Erstellen Sie in der Methode main() ein Auswahlmenü für den Zugriff auf die einzelnen Funktionen der Lagerverwaltung.
?
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.
Lösungsansatz:
mehrdimensionales Array, welches in main angelegt wird.
Entwurf (zum Verständnis):
int[][] kistenArray= {{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 28, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, bis 75}, { Breite 75*}, {Länge 75*}, {Höhe 75*}};
also ist die Ausgabe für die erste Kiste z.B.:
1. [] es gibt ja 4 innere Arrrays, also muss in der ausgabe die erste Zahl der Zahl einer der inneren arrays entsprechen. index 0-3
2. [] muss dem index in dem ausgewählten array (1 von den 4) entsprechen, welcher index in dem ausgewählten array. index 0-74 (welche Kiste Nr. Länge, Breite, Höhe welcher kiste)
Bsp.:
[0][50] = 51.te Kiste
[1][49] = Breite der 50.ten Kiste, weil Breite ja in der 2.ten array = index 1 steht.
ich habe jetzt hier etwas zusammengecoded (noch fehlerhaft), es soll der Entwurf sein.
Entwurf des Codes:
Code:
public class Kistenaufgabe {
public static void main(String[] args) {
//ein 2D Array für int mit 75 Elementen
int[] [] kistenArray = new int[4][75];
//zwei int-Variablen für die Suche
int suche, treffer;
for (int element = 0; element < kisteArray.length; element++)
kisteArray [element]=Integer.parseInt
JOptionPane.showInputDialog
suche = Integer.parseInt(JOptionPane.showInputDialog
("Geben Sie bitte die " + (element + 1) + "gesuchten Kiste ein"));
treffer = Arrays.binarySearch(kistenArray, suche);
if (treffer < 0 | 75)
//bitte in einer Zeile eingeben
System.out.println("ie gesuchte Kiste wurde nicht gefunden");
else
//bitte in einer Zeile eingeben
System.out.println("Die gesuchte Kiste befindet sich an der Position " + (treffer + 1));
System.exit(0);
}
}
Bitte um eure Unterstützung bei der Lösung dieser Aufgabe.
Wie soll ich meinen Code verbessern, welcher ansatz passt und welcher ist unangebracht und muss abgeändert werden.
Falls jemand die komplette Aufgabenlösung hat, bitte posten. Das wäre super.
Danke im Voraus
Codix
Nochmals, die Überlegungen zu der Aufgabe:
die Überlegungen zum Lösen der einzelnen Aufgabenteile sind in Lila.
1.
Erstellen Sie eine „Lagerverwaltung“, die folgende Daten für Kisten speichern kann:
•
public class Lagerverwaltung
eine eindeutige Nummer zur Identifikation jeder einzelnen Kiste,
kisteNr1 (vllt von 1 bis 75) Schleife
Lagerverwaltung kiste = new kiste (breite,länge,höhe)
•
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,
JOption.Pane Methode
•
Löschen der Daten einer vorhandenen Kiste,
kiste.löschen Methode
•
Ändern der Daten einer vorhandenen Kiste,
kiste.datenÄndern methode
•
Anzeigen der Daten einer vorhandenen Kiste und
kiste.datenAnzeigen methode
•
eine Listenfunktion, die die Daten aller vorhandenen Kisten anzeigt.
vllt davor alle Kisten als eine Variable anlegen
kisten.datenAnzeigen
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.
mehrdimensionales Array anlegen in der main()
•
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 setzen.
if, else Schleife,
if 0, dann löschen
else 1-75, anweisung: anzeigen, Ändern methode anwenden
•
Erstellen Sie in der Methode main() ein Auswahlmenü für den Zugriff auf die einzelnen Funktionen der Lagerverwaltung.
?