Informatikunterricht 11-13 mit Java Listen September 05 Informatikunterricht 11-13 mit Java
Informatikunterricht 11-13 mit Java Was sind Listen? int n = (int)(100*Math.random()); Object[] feld = new Object[n]; Größe des Feldes Datentypen Merkmale der Flexibilität: Aber: Länge des Feldes kann sich später nicht mehr den Bedürfnissen anpassen. Ausweg: Datentyp Vector oder eben Listen September 05 Informatikunterricht 11-13 mit Java
Informatikunterricht 11-13 mit Java 4.1 Was sind Listen? Implementieren Sie die Klasse Element Benutzen Sie den JavaEditor (UML-Dioagramm Ein) September 05 Informatikunterricht 11-13 mit Java
Informatikunterricht 11-13 mit Java Quelltext package listen; public class Element { protected Object wert; protected Element naechstes; public Element(){ wert = null; naechstes = null; } public Element(Object wert){ setWert(wert); naechstes = null; } public Object getWert() { return wert; } public void setWert(Object wert) { this.wert = wert; } public Element getNaechstes() { return naechstes; } public void setNaechstes(Element naechstes) { this.naechstes = naechstes; } } September 05 Informatikunterricht 11-13 mit Java
Informatikunterricht 11-13 mit Java Die abstrakte Liste Klasse Liste ist abstrakt Mit dem Element kopf hat man die ganze Liste unter Kontrolle haengeAn() hängt davon ab wie die Liste konkretisiert wird (LIFO –FIFO) Implementieren Sie die abstrakte Klasse Liste September 05 Informatikunterricht 11-13 mit Java
Lösung: Quelltext von Liste package listen; public abstract class Liste { protected Element kopf; public Liste() { kopf = null; } public Object getKopfWert() { return kopf.getWert(); } public boolean isEmpty(){ return kopf == null; } public void loescheElement(){ if (!isEmpty()){ kopf = kopf.getNaechstes(); } } public abstract void haengeAn(Object wert); } September 05 Informatikunterricht 11-13 mit Java
Informatikunterricht 11-13 mit Java Übung 26.3 und Lösung Implementieren Sie in der abstrakten Klasse Liste eine nicht abstrakte Methode gebeAus(): void, die die Werte aller Elemente einer Liste mit dem Kopf beginnend, ausgibt. Die Ausgabe soll im Windows Eingabefenster erfolgen. public void gebeAus(){ Element lauf = kopf; while(lauf != null){ System.out.println(lauf.getWert()); lauf = lauf.getNaechstes(); } } September 05 Informatikunterricht 11-13 mit Java