Side 137: Tabell 4.3 overskriften på venstre
kolonne skal begynne med ordet "Betingelse", ikke "Beringelse".
Side 190: To av oppgavene er lite presist formulert.
Nye formuleringer:
5: Vi må bruke delete for å frigjøre lagerplass på heapen
som ikke lenger er i bruk.
6: Parameteroverføring endrer
størrelsen på den delen av stakken som programmet bruker.Side 246: "Å dele en tekst i ord". Henvisningen skal være til kapittel
8.3, og ikke 8.1.
Side 246-247: Her vises tre kodebiter som eksempler på bruk av split[].
I de to siste eksemplene brukes utvidet for til å løpe gjennom String-tabellene.
Det gjennomgås ikke før i kapittel 13. I det første eksemplet brukes ikke dette,
men det henger likevel igjen noe av koden. De tre kodebitene er
her satt sammen til ett Java-program.
Side 252: Oppgave 2. Siste del av oppgaveteksten krever at du behersker
unntakshåndtering. Det er tema i kapittel 15.
Side 271: Oppgave 1. Beløp i tysk valuta krever bruk av klassen java.text.NumberFormat, se side 679.
Side 288: Brudd på Java-kodestil, linje 14 - programliste 9.1 - bør skiftes
ut med:
if (tabell[i] < tabell[hittilMinst]) {
hittilMinst = i;
}
Side 296: Oppgaven, linje 1: MineTall skal skiftes ut med Tallrekke.
Klassen Tapet mangler final-spesifikasjoner på objektvariabler.
Side 294: Oppgave 1: Metodekallene skal være setPris(), ikke settPris().
Side 299-301: Filen Salgstall.java: Metoden gyldigDagnr() (linje
137) trenger ikke parameteren ukenr. Dette medfører endringer i tre av
kodelinjene:
Linje 137 skal se slik ut: private boolean
gyldigDagnr(int dagnr) {
Linje 85 skal se slik ut: if (gyldigDagnr(dagnr)) {
Linje 143 skal se slik ut: return (gyldigUkenr(ukenr) && gyldigDagnr(dagnr));
Side 314: Nest nederste avsnitt i oppgave 1: Det står at brukeren skal
skrive 1, 2, 3, 4 eller 5 for å velge riktig operasjon. Bruk i stedet
showOptionDialog().
Side 349 og 355: Her er det dessverre manglende samsvar mellom figurer og
kode. Begge stedene er forstavelsen finn- brukt i figurene (hhv. finnStedsnavn()
og finnSted()), mens get- er brukt i programkoden. Hvis vi holder oss til
"regelen" om at get- kun brukes for attributter, og attributter er det som står
øverst i klassediagrammet, så er figurene "riktig" og koden "feil". Det som er
helt klart, er at det bør være samsvar mellom figurer og kode. Se avsnittet om "JavaBean"
som begynner nederst side 170.
Side 361-362: Klassen Student mangler get-metode for fdato. Dette er
lagt inn, og det er også tatt inn et kall på denne i klientprogrammet.
Revidert fil.
Side 364-365: Filen EksempelStudent4.java, linje 34, 35: navn må
kvalifiseres med this, ellers blir det parameteren navn som blir brukt:
Linje 34 skal se slik ut: this.navn.setFornavn(nyttFornavn);
Linje 35 skal se slik ut:
this.navn.setEtternavn(nyttEtternavn);
Endringen medfører at det blir skrevet ut Ole Andreas Haug
(kodelinje 74), som er korrekt iht. komposisjonsprinsippet.
Revidert
fil.
Side 391: Linje 1: Ordet "verdiobjekterer" skiftes ut med "verdier".
Side 401: Oppgave 2: Mer aktuelt å "endre" testklienten enn å "utvide" den.
Side 416: Overskriften skal være java.util.Comparator og ikke
java.lang.Comparator
Side 440: Metoden remove() kaster IndexOutOfBoundsException hvis
ugyldig indeks.
Side 441 - øverst: Bytt ut "tabellListe" med "arrayListe" i alle
metodehodene.
Side 441-442: Feil sett med repetisjonsoppgaver (kap. 13.9) er satt inn i
boka. Her er riktig sett.
Side 456: Oppgave 5. Her er det nok mest korrekt å bruke finnKlassenavn()
ettersom set- og get- bør reserveres til attributter.
Side 461: Oppgave 3: Denne oppgaven er dessverre helt feilplassert. Den hører
hjemme etter kapittel 14.7. Det vil som oppgave 2 side 474. Dessuten skal
oppgave a) og b) byttes om, slik at man skal bruke kopikonstruktøren til å lage
metoden lagKopi().
Side 485-486: Fabrikkmetodene kan returnere objekttypen (Kvadrat), men
det er mer naturlig at de returnerer interfacetypen FigurInterface.
Klientprogrammet forholder seg til FigurInterface, og ikke til Kvadrat.
Fullstendig kildekode. I boka betyr dette
følgende endringer:
Side 485, linje 7 nedenfra: Det står: Kvadrat lagKvadrat(double side) {.
Det skal være: FigurInterface lagKvadrat(double side) {
Side 485, nederste linje: Det står: Kvadrat kvadratet =
fabrikk.lagKvadrat(10);. Det skal være: FigurInterface kvadratet =
fabrikk.lagKvadrat(10);
Ang. teknikken side 486: Da må klassen Kvadrat være public, så her vil
klienten kjenne denne datatypen uansett. Men hensikten er også her å begrense
det offentlige metodeutvalget til det som FigurInterface tilbyr. Ut fra dette
ståstedet, så bør FigurInterface være returtype også i dette tilfellet.
Side 495: Klassen DataLeser må være public (nest nederste linje på siden):
public class DataLeser {
Side 553: Linje 4: Klassen Panel er ikke vist på figuren og bør derfor
ikke nevnes i oppramsingen. (Panel er subklasse til Container.)
Side 577: Oppgave 1 utgår. Oppgave 2 har dermed nr. 1 i dokumentet med
løsninger.
Side 786: Programliste 23.3, linje 4. Det henvises til figur 23.4. Den finnes
ikke, det skal være figur 23.3.
Side 851: Linje 67-69 i programlisten skal være som følger:
123456, Ole Ås, 0
345678, Anne Grethe Ås, 20000
678909, Jonny Hansen, 11000
Side 878:
Overskriften: Det skal være punktum og ikke komma i filnavnet:
RestaurantEvaluation.html
Linje 41 skal se slik ut: <textarea name="kommentarer" rows="4"
cols="40"></textarea>
Side 934:
[URL-JavaDB] mangler i referanselisten. Den er som følger:
http://www.oracle.com/technetwork/java/javadb/downloads/index.html
(Takk til Anne Kleiven)