Hallo Forum, ich habe für eine Java - Klausur eine Frage zu beantorten die ich einfach nicht lösen kann. :cry:
Vieleicht hat einer von euch Profis :wink: eine Antwort.
So, folgende Klausurfrage:
Schreiben Sie eine Klasse VerketteSchlange, die die Schnittstelle Schlange (s.u.) implementiert und die Elemente
miteinander verkettet.
Hinweis: Führen Sie eine geschachtelte Top-Level Klasse Elelement mit Attriubten inhalt, nachfolger .... ein.
Bem. von mir: Ich weis das eine geschachtelte Top-Level Klasse quasi eine lokale Klasse ist nur halt statisch, aber wie ich den Aufbau einer Solchen von miteinander verketteten Objekten realisieren soll ist mir ein Rätzel.
Eine Klasse VerketteSchlange die einen Vector benutzt hätte ich da schon anzubieten , aber weiter komme ich da auch nicht.
Vielen Dank für eure Antworten.
Vieleicht hat einer von euch Profis :wink: eine Antwort.
So, folgende Klausurfrage:
Schreiben Sie eine Klasse VerketteSchlange, die die Schnittstelle Schlange (s.u.) implementiert und die Elemente
miteinander verkettet.
Hinweis: Führen Sie eine geschachtelte Top-Level Klasse Elelement mit Attriubten inhalt, nachfolger .... ein.
Code:
public interface Schlange {
//Fügt ein von null verschiedenes Objekt am Ende der Schlange ein.
public void einfügen (Object obj) throws IllegalArgumentException;
//Entfernt das Objekt am Anfang der Schlange.
//Liefert null, wenn die Schlange leer ist.
public Object entfernen();
//Liefert true, falls Schlange leer, false sonst.
public boolean istLeer();
//Liefert Länge der Schlange.
public int gibLänge();
//Darstellung als String: beginnt mit "<"
//gefolgt von einer String-Darstellung für jedes Element,
//jede getrennt durch Leerräume, endet mit ">"
public String toString();
}
Bem. von mir: Ich weis das eine geschachtelte Top-Level Klasse quasi eine lokale Klasse ist nur halt statisch, aber wie ich den Aufbau einer Solchen von miteinander verketteten Objekten realisieren soll ist mir ein Rätzel.
Eine Klasse VerketteSchlange die einen Vector benutzt hätte ich da schon anzubieten , aber weiter komme ich da auch nicht.
Code:
public class VerketteSchlange implements Schlange {
public static class Element{
public Element(Object obj, Element nachf){
Vector v = new Vector();
v.addElement(obj);
inhalt = v.firstElement();
v.clear();
}
Object inhalt = null;
Element nachfolger = null;
}
Vector vs = new Vector();
/* (non-Javadoc)
* @see Schlange#einfügen(java.lang.Object)
*/
public void einfügen(Object obj) throws IllegalArgumentException {
// TODO Auto-generated method stub
vs.addElement(obj);
}
/* (non-Javadoc)
* @see Schlange#entfernen()
*/
public Object entfernen() {
// TODO Auto-generated method stub
if (!vs.isEmpty())
return vs.elementAt(0);
else
return null;
}
/* (non-Javadoc)
* @see Schlange#istLeer()
*/
public boolean istLeer() {
// TODO Auto-generated method stub
return vs.isEmpty();
}
/* (non-Javadoc)
* @see Schlange#gibLänge()
*/
public int gibLänge() {
// TODO Auto-generated method stub
return vs.size();
}
}
Vielen Dank für eure Antworten.