© APSIS GmbH , Polling, 2000, 2001, 2002, 2003
in der 3. Auflage
Stand: 14. November 2001
Seite XIII, erster Satz des vorletzten Absatzes: nicht fehlt:
Im Buch wird vorrangig nicht nur die Sprache Java vorgestellt, sondern vielmehr ein – nach Meinung der Autoren zeitgemäßer – Programmierstil und seine Umsetzung in Java-Programmen.
und nicht wie im Buch:
Im Buch wird vorrangig nur die Sprache Java vorgestellt, sondern vielmehr ein – nach Meinung der Autoren zeitgemäßer – Programmierstil und seine Umsetzung in Java-Programmen.
Seite 56, Prozeduren zweiParameter und ignorierterParameter:
Die Ausnahmen heißen VollAusnahme und LeerAusnahme, nicht VollAusn und LeerAusn:
public void zweiParameter(Eimer eimer1, Eimer eimer2) throws VollAusnahme { // Definition ...
public void ignorierterParameter(Eimer eimer1, Eimer eimer2) throws VollAusnahme, LeerAusnahme {
Seite 66, vorletzter Absatz:
Die Methode innereProzedur ...
und nicht wie im Buch
Die Methode prozedur ...
Seite 67, Abbildung 3.4 ist richtig:
und nicht wie im Buch:
Seite 89, Übung 4.6:
Übung 4.6 : Implementieren Sie zweimal die folgende Schnittstelle mit Hilfe der Klasse lehrbuch.Eimer ...
und nicht wie im Buch
Übung 4.: Implementieren Sie zweimal die folgende Schnittstelle mit Hilfe des Pakets lehrbuch.Eimer ...
Seite 95, Kapitel 4.6.2, Methode unspezifischeAusnahmebehandlung:
Die Parameterklammern müssen eingefügt werden:
void unspezifischeAusnahmebehandlung()
Seite 96, markierte Programmzeile in der Mitte der Seite:
è oberReferenz.unterMethode(); // Typfehler; obwohl für das Objekt unterMethode zur Verfügung steht
Seite 102, Programmausschnitt unten auf der Seite:
Die Programmzeile
System.out.println(puffer); // "Hallo!" wird ausgegeben
muss um zwei Zeilen höher verschoben werden:
StringBuffer puffer = new StringBuffer(); // leere Zeichenkette wird erzeugt // puffer.append("Hallo"); // Zeichenkette wird am Ende des Puffers hinzufügt System.out.println(puffer); // "Hallo!" wird ausgegeben puffer.append(" Welt!"); puffer.delete(0, 9); // die ersten zehn Zeichen werden gelöschtSystem.out.println(puffer); // "Hallo!" wird ausgegebenpuffer.insert(6, "TFH+"); // Zeichenkette wird an die gegebene Position eingefügt
Seite 122, nach der Abb.5.6: Der Satz
Ein rekursiver Aufruf von paint
würde nicht abgebrochen werden.
soll gestrichen werden. Nach diesem Satz kann folgende Bemerkung eingefügt werden:
Der hier dargestellte Weg, die paint-Methode von JApplet zu überschreiben, ist allgemein nicht zu empfehlen. Die Oberflächenobjekte sollen nicht dem Inhaltschicht des Applets hinzugefügt werden, sondern einem JPanel-Objekt, dessen paintComponent-Methode überschrieben werden soll.
Eine noch bessere Vorgehensweise wird im Kapitel 6.5 beschrieben, wo Lauscher für die Oberflächenobjekte (wie die Auswahlliste und das Textfeld) vorgestellt werden.
Seite 138, Programm 6.6:
Im Ausnahmebehandlungsteil der Methode umfuellen müssen die Bezeichner Exception und ausnahme durch eine Leerstelle getrennt werden:
catch (Exception ausnahme) { Eimer.meldung("Bedienungsfehler"); }
und nicht wie im Buch
catch (Exceptionausnahme) { Eimer.meldung("Bedienungsfehler"); }
Seite 148, Übung 6.8, 6. Zeile:
Kreis ist kein Paket, sondern Klasse
Die Methoden bemalen, verstecken und wiederherstellen aus der Klasse Kreis sollen für den sichtbaren Kreis durch Menüauswahl aufgerufen werden können.
und nicht wie im Buch
Die Methoden bemalen, verstecken und wiederherstellen aus dem Paket Kreis sollen für den sichtbaren Kreis durch Menüauswahl aufgerufen werden können.
Seite 172, zweiter Absatz (vor der Übung 7.3), 4. Zeile: throw statt throws
Diese haben wir aufgefangen und die gewünschte Ausnahme mit Hilfe von throw ausgelöst.
und nicht wie im Buch
Diese haben wir aufgefangen und die gewünschte Ausnahme mit Hilfe von throws ausgelöst.
Seite 236, letzte Zeile: throw statt throws
catch (VollAusnahme ausnahme) { throw new Error("Voll beim Eintragen"); }
und nicht wie im Buch
catch (VollAusnahme ausnahme) { throws new Error("Voll beim Eintragen"); }
Seite 257, Klasse StapelPol:
Im else-Zweig der Methode entfernen soll die öffnende geschweifte Klammer gestrichen werden:
public void entfernen() throws LeerAusnahme { if (spitze < 0) throw leerAusnahme; else spitze --; // Platz des letzten eingetragenen Elements freigeben }
und nicht wie im Buch
public void entfernen() throws LeerAusnahme { if (spitze < 0) throw leerAusnahme; else } spitze --; // Platz des letzten eingetragenen Elements freigeben }
Seite 257, Abbildung 10.2:
Der letzte Index im Ringpuffer ist length-1, nicht length::
und nicht wie im Buch:
Seite 265, Methode eintragen lautet richtig:
private static Knoten neu; // global für den Ausnahmebehandlungsteil public void eintragen (final Object element) throws VollAusnahme { try { neu = new Knoten(element, null); // throws OutOfMemoryError è aelteste.verbindung; // throws NullPointerException, wenn leer
juengste.verbindung = neu; // neuer jüngster Knoten wird eingefügt juengste = neu; } catch (OutOfMemoryError ausnahme) { throw vollAusnahme; }
catch (NullPointerException ausnahme) { // Sonderfall: Warteschlange leer juengste = neu; aelteste = neu; } }
und nicht wie im Buch
private Knoten neu; // global für den Ausnahmebehandlungsteil public void eintragen (final Object element) throws VollAusnahme { try { neu = aelteste.verbindung; è // throws NullPointerException, wenn leer
neu = new Knoten(element, null); // throws OutOfMemoryError
juengste.verbindung = neu; // neuer jüngster Knoten wird eingefügt juengste = neu; } catch (OutOfMemoryError ausnahme) { throw new VollAusnahme(); } catch (NullPointerException ausnahme) { // Sonderfall: Warteschlange leer juengste = neu; aelteste = neu; } }
Fehler, Korrekturen und Verbesserungsvorschläge können auf die folgende Adresse zugeschickt werden:
© APSIS GmbH , Polling, 2000, 2001, 2002, 2003