Hovedsiden
Forord til boka   
Innhold  
Kapittel 1  
Kapittel 5  
Løsninger små-oppg.
Løsninger prog.-oppg.
Eksempler fra boka
mittBibliotek
Programvare

Lenker
Kurs
Tips     

Java 7 
Java 8 - datohåndtering
Trykkfeil


 

 

 
 

Trykkfeil, mangler og ting som kanskje burde vært gjort annerledes ...

Her samler vi trykkfeil og lignende som antas å være av interesse for leserne.
Se også menyvalget Java 7.

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)