Hallo zusammen,
ich soll einen ContainerTerminal modellieren. Dieser besteht insgesamt aus Containerstapeln und einem Kran, der Stapel wiederum aus 2 Arten von Container (mit ihren Eigenschaften / Vererbung) . Ich hab glaub ich soweit alles in den Bausteinen umgesetzt, aber mir ist beim Kran und dem Stappel nicht klar, wie diese interagieren sollen.
Die Aufgabe sagt mir :
"Ein Containerstapel besteht aus keinem, einem, oder mehreren Containern und es ist egal wie viele Stappel es gibt bzw erzeugt werden". Aber mich verwirrt jetzt der Kran, denn der soll :
Mit Hilfe des Krans können Container von einem Ursprungsstapel zu einem Zielstapel bewegt werden. Wichtig ist, dass der Kran nur Containertransporte durchzuführen kann, die im Rahmen seiner Fähigkeiten liegen, d.h. unter Beachtung der maximalen Traglast und Hubhöhe. Auch ist der Kran nicht fähig, mehrere Container gleichzeitig zu transportieren. Der Containertransport geschieht in vier Schritten:
1. Positioniere Kran vor Ursprungsstapel
2. Entnehme obersten Container („pick“)
3. Positioniere Kran vor Zielstapel
4. Lege zuvor aufgenommenen Container zuoberst ab („place“)
Das alles klingt doch sehr nach einem Stack oder ? Ich bin im Moment soweit, dass ich das habe :
Hier dachte ich, dass es sich um den Containerstappel handelt, aber kann es sein, dass ich die Klasse gar nicht brauche, da der Kran diese ganzen Methoden braucht?
hier noch der Kran :
ich soll einen ContainerTerminal modellieren. Dieser besteht insgesamt aus Containerstapeln und einem Kran, der Stapel wiederum aus 2 Arten von Container (mit ihren Eigenschaften / Vererbung) . Ich hab glaub ich soweit alles in den Bausteinen umgesetzt, aber mir ist beim Kran und dem Stappel nicht klar, wie diese interagieren sollen.
Die Aufgabe sagt mir :
"Ein Containerstapel besteht aus keinem, einem, oder mehreren Containern und es ist egal wie viele Stappel es gibt bzw erzeugt werden". Aber mich verwirrt jetzt der Kran, denn der soll :
Mit Hilfe des Krans können Container von einem Ursprungsstapel zu einem Zielstapel bewegt werden. Wichtig ist, dass der Kran nur Containertransporte durchzuführen kann, die im Rahmen seiner Fähigkeiten liegen, d.h. unter Beachtung der maximalen Traglast und Hubhöhe. Auch ist der Kran nicht fähig, mehrere Container gleichzeitig zu transportieren. Der Containertransport geschieht in vier Schritten:
1. Positioniere Kran vor Ursprungsstapel
2. Entnehme obersten Container („pick“)
3. Positioniere Kran vor Zielstapel
4. Lege zuvor aufgenommenen Container zuoberst ab („place“)
Das alles klingt doch sehr nach einem Stack oder ? Ich bin im Moment soweit, dass ich das habe :
Code:
import java.util.ArrayList;
import java.util.List;
public class Stack<Container> {
private int containerStackID;
private static int firstContainerID = 0;
private final List<Container> stackElements;
public void createContainerStackID() {
containerStackID = ++firstContainerID;
}
public int getContainerStackID() {
return containerStackID;
}
public Stack() {
createContainerStackID();
stackElements = new ArrayList<>();
}
public void push(Container element) {
stackElements.add(element);
}
public boolean isEmpty() {
return stackElements.isEmpty();
}
public Container pop() {
if (isEmpty()) {
throw new EmptyStackException("Der Stack ist leer!");
} else {
int lastIndex = stackElements.size() - 1;
Container lastElement = stackElements.get(lastIndex);
stackElements.remove(lastIndex);
return lastElement;
}
}
@Override
public String toString() {
return "Stack [stackElements=" + stackElements + "]+ conatainerStackID ";
}
public void clear() {
stackElements.clear();
}
}
hier noch der Kran :
Code:
public class Kran {
private Container40ft container40ft;
private Container40ftHC container40ftHC;
private static final int maxHeight = 2438; // 160 Fuß entsprechen 2438,4 cm
private static final int maxloadCapacity = 30; // Tonnen
public static int getMaxheight() {
return maxHeight;
}
public static int getMaxloadcapacity() {
return maxloadCapacity;
}
}