581326-3 Java-ohjelmointi, koe 25.6.2008/AW (Avoin yliopisto)

Kirjoita jokaisen vastauspaperisi alkuun kurssin nimi ja kokeen päivämäärä sekä nimesi, henkilötunnuksesi ja allekirjoituksesi.
  1. Paikka olkoon kahdella kokonaisluvulla (x, y) esitetty sijainti tasolla. Luokka Paikka on määritelty seuraavasti:
    public class Paikka {
      private static int lkm=0; // luotujen olioiden laskuri
      private int x=0, y=0;
      private final int KOODI;  // olion yksikäsitteinen tunniste
      public Paikka(int x, int y) {
        this.x = x; this.y = y;
        ++lkm; KOODI=lkm;
      }
      public int koodi() {return KOODI;}
      public void aseta(int x, int y) {
        this.x = x; this.y = y;
      }
      public String toString() {
        return "("+ koodi() + ")(" + x+"," + y + ")";
      }
    } 
    
    Ohjelmoi tälle luokalle aliluokka Sijainti, joka täydentää Paikka-luokan ominaisuuksia korkeutta tai syvyyttä ilmaisevalla kolmannella kokonaislukukoordinaatilla z. Sijainti-luokan ilmentymiä luodaan konstruktoreilla: Sijainti-oliolle on käytettävissä aksessorit:

    Ohjelmoi luokkaan Sijainti vain ja ainoastaan tarpeelliset osat. Luokkaa Paikka ei saa muuttaa.

                                                                                             (17 pistettä)
    
  2. Selitä ja vertaile lyhyesti mutta täsmällisesti seuraavia asioita:

    1. luokan lataaminen ja olion luonti
    2. yliluokka ja aliluokka
                                                                                             (16 pistettä)
    

  3. Tee ohjelma KorvaaMerkit tekstitiedoston muokkaamiseen. Ensin ohjelma pyytää joukon merkkipareja (vanha, uusi). Sen jälkeen ohjelma lukee tekstitiedostoa vanha.txt ja kirjoittaa toista tekstitiedostoa uusi.txt. Uusi tiedosto on muuten samanlainen kuin vanha, mutta jokaisella rivillä kaikki vanha-merkit on korvattu vastaavilla uusi-merkeillä. Ohjelman on varauduttava virheisiin ja käsiteltävä poikkeukset. Virheilmoitusten pitää olla havainnollisia.

    Vihjeitä:

                                                                                             (17 pistettä)
    

Onnea kokeeseen ja hauskaa kesää!