Helsingin yliopisto
/
Tietojenkäsittelytieteen
laitos
/
581258-1 Johdatus ohjelmointiin
Ohjelmoinnin perusteet Java-kielellä: korjauksia 1. painokseen
(Muutettu viimeksi 5.7.1999)
Tällä sivulla on korjauksia kurssin oppikirjan ensimmäiseen painokseen:
- Arto Wikla: Ohjelmoinnin perusteet Java-kielellä, OtaDATA 1998.
Kovin vakavia virheitä ei löytynyt, useimmat olivat pelkkiä
kirjoitusvirheitä.
Sisällöllisesti merkittävien korjausten sivunumero on
ilmaistu vahvennettuna. Tällaisia on sivuilla
26, 28-29, 70, 73, 80, 89, 105, 115, 123 ja 124.
Korjauksen jälkeen on virheen ensimmäisen keksijän nimi, jos se en ole
minä, jos nimen tiedän ja jos keksijä ei kieltänyt nimensä julkistamista.
Korjaukset (22.2.1999):
- s. iii, 3. kappale, 2. rivi: "ymmärtärtämiseksi" po. "ymmärtämiseksi"
- s. v, 4. pallukka: "ohjelmoinnnin" po. "ohjelmoinnin". [Sami Nikander]
- s. xi, otsikko 5.3.1: "Arvoja ja oliota talteen" po.
"Arvoja ja olioita talteen",
samoin sivulla 204. [Erik Mrena]
- s. 3, alaviite 2: "sensijaan" po. "sen sijaan". [Erik Mrena]
- s. 8, 4. rivi: "edelläluetellut" po. "edellä luetellut". [Erik Mrena]
- s. 9, 2. kappale: Javan määritelmälainauksen lopussakin pitää
olla lainausmerkki.
- s. 9, 1.3, 1. pallukka: "peräisi" po. "peräisin". [Sami Nikander]
- s. 13, 6.rivi alareunasta: "asiota" po. "asioita". [Jani Saijos]
- s. 26,
viimeinen virke ennen keskimmäistä ohjelmaesimerkkiä:
sanat "puolipiste ei ole välttämätön" korvataan sanoilla
"puolipistettä ei käytetä".
- s. 26, keskimmäinen ohjelmaesimerkki: Puolipiste puuttuu 7.
ohjelmarivin lopusta.
- s. 27, viimeinen kappale: Lause "Jos esimerkiksi halutaan
double-muuttujan a arvosta riippuen suorittaa eri lause
seuraavissa tilanteissa:" korvataan lauseella "Esimerkki: Jostakin
syystä double-muuttujan a arvosta riippuen halutaan suorittaa
eri lause seuraavissa tilanteissa:"
- s. 28-29, ketjutusesimerkki: if-lauseiden ehtojen
&&-lausekkeissa ensimmäinen vertailu on
johdonmukaisesti väärinpäin:
if ( a < 0 )
lause1;
else
if ( a <=1 && a < 50 )
lause2;
else
if ( a < 61 && a < 103 )
lause3;
... JNE...
Pitää olla:
if ( a < 0 )
lause1;
else
if ( 1 <= a && a < 50 )
lause2;
else
if ( 61 < a && a < 103 )
lause3;
... JNE...
Sama virhe toistuu s. 28 toisessa ohjelmanpätkässä ja s. 29
ylälaidan esimerkissä.
- s. 36, 2.5:n ensimmäinen lause: "aliohjemia" po.
"aliohjelmia". [Erik Mrena]
- s. 37, 2.5.2:n 11. rivi: "siis että, aliohjelma" po.
"siis, että aliohjelma". [Erik Mrena]
- s. 38, ensimmäinen tekstirivi: "Luokassa Hip on"
po. "Luokassa HipHoh on". [Severi Mäkelä]
- s. 39, 11. rivi alhaalta: "parametrs" po. "parameters".
[Anders Wallin]
- s. 48, alaviite 17: loppupiste puuttuu. [Sami Nikander]
(ja yksi ylimääräinen on viitteen lähtökohdassa)
- s. 48, alaviite 18: loppupiste puuttuu.
- s.51, toiseksi alin normaali tekstirivi:
"ylläluetelluilla" po. "yllä luetelluilla". [Erik Mrena]
- s. 52, 2. tekstikappale: "ilmentymiä eli oliota" po.
"ilmentymiä eli olioita".
[Severi Mäkelä]
- s. 52, 5. rivi alhaalta: "kentän kuu avoksi" po. "...arvoksi".
[Sami Nikander]
- s.55. ohjelman alin kommentti: "MOLEMMISTA oliosta" po.
"MOLEMMISTA olioista". [Erik Mrena]
- s. 57, alaviite 27: "luokkamuutujia" po. "luokkamuuttujia".
[Sami Nikander]
- s.59, alaviite 29: "Sen antaa esimerkin" po. "Se antaa esimerkin".
[Erik Mrena]
- s. 64, 12. rivi : "sensijaan" po. "sen sijaan". [Erik Mrena]
- s. 65, huomautus: "abstaktin" po. "abstraktin".
[Severi Mäkelä]
- s. 67, 14.rivi alhaalta: "postitiivisia" po. "positiivisia".
[Jani Saijos]
- s. 68: class MerkkiLukuTesti pitää olla
public class MerkkiLukuTesti.
- s. 70, metodi charAt: "lenght()" po. "length()". [Sami Nikander]
- s. 73, viimeinen for-lause
for (int i=100; i<=1; --i)
po.
for (int i=100; i>=1; --i)
[Jani Saijos]
- s.71 3.rivi: merkkijononon = merkkijonon
[Jani Saijos]
- s. 75: class TauluKokeita pitää olla
public class TauluKokeita.
- s. 74, 6. rivi: "milloin mikin" po. milloin mikäkin. [Jani Saijos]
- s. 74, 9. rivi: "oliota" po. "olioita". [Jani Saijos]
- s. 80, lisäysjärjestämisen rivi
while (j < 0 && taulu[j-1] < apu) {
pitää olla
while (j > 0 && taulu[j-1] > apu) {
[Jaana Heino]
- s. 80, alaviite 43: "Algotihms" po. "Algorithms". [Sami Nikander]
- s. 81, huomautus 45: "oliota" po. "olioita". [Jani Saijos]
- s.84 2.8.7 5.rivi: taulkon = taulukon
[Jani Saijos]
- s. 89, tehtävä 5, kohta vi: "r < -1.7 ja
r > 23.1" po. "r < -1.7 tai r > 23.1".
- s. 90, tehtävä 8, b-kohta: sanan "do" perästä puuttuu "{"-merkki.
- s. 90, tehtävä 14, 3. pallukka: parametriluettelon lopusta puuttuu
")"-merkki.
- s. 91 8.rivi luekemansa = lukemansa
[Jani Saijos]
- s. 94 7.rivi annettun = annetun
[Jani Saijos]
- s. 94, tehtävä 26: "-talukkoa" po. "-taulukkoa". [Jani Saijos]
- s. 94, tehtävä 28: Viimeisen return-lauseen perästä puuttuu
puolipiste. [Janne Peltonen]
- s. 95, tehtävä 29, 5. rivi. Opiskelijat[0] po.
opiskelijat[0]. [Asko Saura]
- s. 99, 5. rivi alhaalta: "nimet tapana" po. "nimet on tapana".
[Sami Nikander]
- s. 100, huomatus: "... omina tunnuksin" po.
"... omina tunnuksina"
- s.102 2.rivi postitiivisia = positiivisia
[Jani Saijos]
- s.102 3.rivi kirjoitusjärjestemien = kirjoitusjärjestelmien
[Jani Saijos]
- s. 105, 3. kappale alhaaltapäin laskien: "osoittaja, että nimittäjä" po.
ilman pilkkua. [Joanna Mrozinski]
- s. 105, 2. kappale alhaaltapäin laskien: piste puuttuu 1. virkkeestä.
[Joanna Mrozinski]
- s. 105, viimeinen virke ja alaviite 13:
Koko virke "Arvo on ... liukulukuna." on poistettu.
Alaviite 13 on nyt kokonaisuudessaan
"Ks. spesifikaatio
15.16.3.
Tässä Javan aritmetiikka
poikkeaa standardista IEEE 754. Standardinmukainen jäännösjako on
käytettävissä metodina
Math.IEEEremainder(double, double).[1, 4]"
- s. 108, 3.3.5, 2. rivi: "sijoittevan" po. "sijoitettavan". [Sami Nikander]
- s.110 2.rivi tyypisen = tyyppisen
[Jani Saijos]
- s. 112, 3.4:n toinen kappale, 2. virke: "...rakenteisiksi, siksi, että..."
po. "...rakenteisiksi, koska..." [Joanna Mrozinski]
- s.112 14.rivi lohko on on = yksi "on" pois
[Jani Saijos]
- s. 115, 9. rivi: "-i, i-" po. "--i, i--"
[Mikko Tanski]
- s.116 22.rivi sijoittettavissa = sijoitettavissa
[Jani Saijos]
- s. 117, 2. pallukka: "literaalivakioden" po. "literaalivakioiden".
[Sami Nikander]
- s. 119, 3.4.7, 2. pallukka (continue): "siirytään" po. "siirrytään".
[Sami Nikander]
- s. 119, 3.4.7, 2. pallukka (continue): "kauniinpia" po.
"kauniimpia". [Sami Nikander]
- s. 120, 1. rivi koodin jälkeen: "keskeytyslauiseet" po.
"keskeytyslauseet". [Sami Nikander]
- s.121 11.rivi luokasssa = luokassa
[Jani Saijos]
- s. 123, 4. rivi alhaalta: new tmp1();
po. new Kone();
[Sami Nikander]
- s. 124, 8. rivi: new tmp1(); po.
new Kone(); [Sami Nikander]
- s. 125, 3.5.4, rivi 6: "tosistaan" po. "toisistaan". [Sami Nikander]
- s. 126, 3.5.5:n ensimmäinen kappale: "tietänkään" po.
"tietenkään".
- s. 130, 7 ja 8. rivi alhaalta: "Sensijaan" po. "Mutta".
- s. 134, luokka Parat, 3. rivi: "{"-merkki poistetaan.
- s.135 11.rivi typpiä = tyyppiä
[Jani Saijos]
- s. 135, 1. rivi alhaalta: "viitaustyyppinen" po.
"viittaustyyppinen". [Sami Nikander]
- s.136 5.rivi: kompomponentteina = komponentteina
[Jani Saijos]
- s. 139, tehtävä 4: "kuvaruurulle" po. "kuvaruudulle". [Sami
Nikander]
- s.139 4.tehtävä 4.rivi esiityy = esiintyy
[Jani Saijos]
- s.145 4.alin rivi käytten = käyttäen
[Jani Saijos]
- s. 148, 1. pallukka: puuttuva välilyönti kohdassa
"alkuarvo.Metodien". [Sami Nikander]
- s.149 3.rivi aseteaan = asetetaan
[Jani Saijos]
- s. 149, alaviite 5: "alkuarvonasetulausekkeessa" po.
"alkuarvonasetuslausekkeessa" [Mari Koskela]
- s. 154, 4.3, 2. rivi: "abstrakin" po. "abstraktin". [Sami Nikander]
- s.158 6.rivi: Kyseessä-sanan edestä puuttuu piste.
[Jani Saijos]
- s.158 21. rivi: kyseistä = kyseisestä
[Jani Saijos]
- s. 161, 3. rivi: "+"-merkki poistetaan.
- s.163 4.3.5 7.rivi: final-määrellä = final-määreellä
[Jani Saijos]
- s.165 11. rivi: peritymismekanismia = periytymismekanismia
[Jani Saijos]
- s.165 13. rivi: moniperytymisen = moniperiytymisen
[Jani Saijos]
- s. 165, 4.4.1, 5. kappaleen rivi 4: "sivull 166" po. "sivulla 166".
[Sami Nikander]
- s. 167, 1. rivi: "tällä kertaa" poistetaan.
- s.171 alaviite 24: näkyvyyssäntöjä = näkyvyyssääntöjä
[Jani Saijos]
- s. 172: class Yliluokka pitää olla
public class Yliluokka.
- s.174 18.rivi totetuttettua = toteutettua
[Jani Saijos]
- s. 174, 4.4.7, 1. rivi: "peritytyminen" po. "periytyminen".
[Sami Nikander]
- s. 174, 4.5, alin rivi: "toteustustapa" po. "toteutustapa".
[Sami Nikander]
- s.175 esimerkin kommentoinnissa: muttujaan e = muuttujaan e
[Jani Saijos]
- s.179 viimeinen huomautuspallukka: javan perukalusto = javan
peruskalusto
[Jani Saijos]
- s.179 4.6.4 2.rivi: jakaa edelleen jakaa = jakaa edelleen
[Jani Saijos]
- s.184 4.tehtävä 13.rivi final int yksilollisyys = final int
YKSILOLLISYYS (so. vakiot isolla)
[Jani Saijos]
- s.186 teht.11 4.rivi: on on = toinen on pois
[Jani Saijos]
- s. 190, luokka TaulEx, System.out.println(): "taulokon" po.
"taulukon". [Sami Nikander]
- s.190 alareunan kallistettu teksti: tilantessa = tilanteessa
[Jani Saijos]
- s.191 5.1.2 1.rivi: monentyypppisiä = yksi p pois
[Jani Saijos]
- s. 191, Numeroidun listan kohta 2): InputStream kirjoittu pienellä
alkukirjaimella. [Sami Nikander]
- s. 192, 5.1.4.: kursivoitu virke: jälkimmäinen "siis" pois
[Mari Koskela]
- s. 192, 5.1.4.: Huomautusvirkkeen "puolestaan" pois [Mari Koskela]
- s. 199, 5. rivi alhaalta: "paremetri" po. "parametri". [Sami
Nikander]
- s.201 5.2.3 3.rivi: tekstitedostoa = tekstitiedostoa
[Jani Saijos]
- s. 204, otsikko 5.3.1: "Arvoja ja oliota talteen" po.
"Arvoja ja olioita talteen",
samoin sisällysluettelossa s. xi. [Erik Mrena]
- s.205 9.rivi: tyyppimunnos = tyyppimuunnos
[Jani Saijos]
- s.209 teht.6 2. alin rivi: esimerkkkejä = yksi k pois
[Jani Saijos]
- luku 6 Aikaisempi String[] args -tyyli muuttuu String args[]
-tyyliksi kappaleen esimerkeissä.
[Jani Saijos] (Muutettu alun tyyliseksi!)
- s. 211, alaviite 1: "panike" po. "painike".
[Eljas Soisalon-Soininen]
- s.212 6.1.1 8-9.rivi: yliluokkineeen = yksi e pois
[Jani Saijos]
- s. 212, luokka HoiGSovellus0: Rivin
"ikkuna.setVisible(true);}" lopun
"}"-merkki poistetaan.
- s.213 6.1.2 1. rivi: kutenkaan = kuitenkaan
[Jani Saijos]
- s. 216, alaviite 8: "Luokkaan Canvas,...,piirtoalustaan Canvas,
tutustutaan" po. "Luokkaan Canvas, piirtoalustaan, tutustutaan".
[Sami Nikander]
- s. 228, konstruktori Piirtosovellus(): metodin kutsu
"paperi.setSize(400, 600);" korvataan kutsulla
"paperi.setSize(250, 70);"
- s. 228, alaviite 15: "piirtolausta" po. "piirtoalusta". [Sami Nikander]
- s.229 kohta huom: kappleiden = kappaleiden
[Jani Saijos]
- s. 233, 15. rivi: "Parameri" po. "Parametri". [Erik Mrena]
- s. 235, 6.3.1, 5. pallukka: "järjestemän" po. "järjestelmän".
[Sami Nikander]
- s. 235, 6.3.2, 1. rivi: "tervehtemiseen" po. "tervehtimiseen".
[Sami Nikander]
- s. 235, alaviite 30: "working directory user home, directory,..."
po. "working directory, user home directory,..." [Sami
Nikander]
- s. 239, 6.4, 1. riviory,..." [Sami Nikander]
- s. 239, 6.4, 1. rivi: "käyttöliitymän" po. "käyttöliittymän".
[Sami Nikander]
- s. 246 alaviite 39: "Vrt .staattiset..." po. "Vrt. staattiset...".
[Matti Vapaakallio]
- s. 247, rivit 3 ja 4: "otisikossa" po. "otsikossa". [Sami Nikander]
- s. 247: Luokan nimen pitää olla
Laskurisovellus4.
- s. 250, Tehtävä 1, rivi 6: "enne aikojaan" po. "ennen aikojaan".
[Sami Nikander]
- s.263 5. pallura: etumerkintöntä = etumerkitöntä
[Jani Saijos]
Java and all Java-based marks and logos are trademarks or registered
trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
University of Helsinki is independent of Sun Microsystems, Inc.
Takaisin kurssin pääsivulle.