hi.. ich lerne java grade aufgrund meines informatik studiums und sitze vor folgendem problem.
wir sollen einen stack programmieren (an sich eigentlich kein problem), allerdings sollen die elemente des keller von einem generischem datentyp sein. ausserdem sollen wir keine fremden klassen importieren.
bislang habe ich drei klassen:
ein interface, vom prof vorgegeben:
Element.java (um die Elemente zu erstellen):
und LinkedListStack.java (der Hauptteil, der ADTSack implementiert):
wenn ich das nun in den compiler schicke sagt er ich das push(T x) nicht überlagert wird. dabei ist das doch der fall so wie ich das sehe ?! danke schonmal für eure hilfe
wir sollen einen stack programmieren (an sich eigentlich kein problem), allerdings sollen die elemente des keller von einem generischem datentyp sein. ausserdem sollen wir keine fremden klassen importieren.
bislang habe ich drei klassen:
ein interface, vom prof vorgegeben:
Code:
interface ADTStack<T> {
boolean isEmpty();
int size();
T top();
void push(T x);
void pop();
String toString();
}
Element.java (um die Elemente zu erstellen):
Code:
public class Element<T> {
public T daten;
public void setValue(T daten) {
this.daten = daten;
}
public T getValue() {
return this.daten;
}
}
und LinkedListStack.java (der Hauptteil, der ADTSack implementiert):
Code:
public class LinkedListStack implements ADTStack {
public LinkedListStack next;
public Element firstElement = new Element();
public int size;
public LinkedListStack() {
firstElement = null;
next = null;
size = 0;
}
public void push(T x){
LinkedListStack l = new LinkedListStack();
l.next = next;
next = l;
firstElement = next;
size += size;
}
public boolean isEmpty() {
return firstElement == null;
}
public int size() {
return size;
}
public T top() {
return firstElement;
}
public void pop() {
next = next.next;
firstElement = next;
size -= size;
}
public String toString() {
return daten + "";
}
}
wenn ich das nun in den compiler schicke sagt er ich das push(T x) nicht überlagert wird. dabei ist das doch der fall so wie ich das sehe ?! danke schonmal für eure hilfe