Ekstraoppgaver 9: 17.okt - 23. okt (Høst 2013)

Denne ukens ukeoppgaver kan du finne her.

  1. HashMap: Hva skrives ut? (Se oversikten på side 190-191 i læreboka)

    import java.util.*;
    class Personer {
        public static void main(String[] args) {
    	HashMap  register = new HashMap  ();
    
    	Person p1 = new Person("Ida", 19);
    	Person p2 = new Person("Lars", 21);
    
    	register.put(p1.navn, p1);
    	register.put(p2.navn, p2);
    
    // a)
    	Person p = register.get("Ida");
    	System.out.println(p.navn + p.alder);
    
    // b)
    	for (String s : register.keySet()) {
    	    System.out.println(s);
    	}
    // c)
    	p1.alder = 24;
    	for (Person p3 : register.values()) {
    	    System.out.println(p3.navn + ":" + p3.alder);
    	}
    // d)
    	if (register.containsValue(p2) && ! register.containsKey("Elin")) {
    	    System.out.println(true);
    	}
    // e)
    	register.remove("Lars");
    	System.out.println(register.size() + " - " + register.isEmpty());
    // f)
    	System.out.println(register.remove("Ida") == null);
    	System.out.println(register.remove("Ida") == null);
        }
    }
    
    class Person {
        String navn;
        int alder;
    
        Person(String navn, int alder) {
    	this.navn = navn;
    	this.alder = alder;
        }
    }
    
    
  2. På bondegården
    Nå skal vi lage en enkel bondegård. Vi har en grisebinge med plass til 10 griser, en stall med plass til 5 hester og en hønsegård med plass til 30 høns. Lag en klasse Bondegård som inneholder:

    Gris[] grisebinge = new Gris[10];
    Hest[] stall = new Hest[5];
    Høne[] hønsegård = new Høns[30];
    

    Så skal du lage tre klasser: Gris, Hest og Høne. Disse skal inneholde String navn. I Bondegård lager du en metode "void fyllInnDyr()". I denne skal du fylle grisebingen, stallen og hønsegården med riktige dyr. 20 av hønene er egentlig kyllinger, og skal slaktes med en gang de blir store nok. Derfor får disse 20 ikke navn. Det samme gjelder halvparten av grisene. Finn på passende navn til dyrene. Etter du har fylt opp gården med dyr, skal du slakte noen av dyrene. Dette gjøres i Bondegård sin metode "void slaktDyr()". Nå skal du slakte de 20 hønsene som ikke har navn og de grisene som ikke har navn. I tillegg må du avlive den ene hesten på grunn av alderdom. Etter dette skal du skrive ut grisebingen, stallen og hønsegården.

    Eksempelutskrift:
    I grisebingen er:
    Nøff
    null
    Nasse
    null
    Grynt
    Snøff
    null
    null
    null
    Rulle
    
  3. Kursoppmeldingssystemet (Kap. 8.17, side 162-174 og 178-179)
    Hvis du har lyst å jobbe med Kursoppmeldingssystemet vist på side 162-174 i læreboka (kap. 8.17), så kan du laste ned kildekoden her: Studentregister.java. Det er flere oppgaver i læreboka som tar utgangspunkt i dette programmet: Oppgave 9-13 i kap. 8 (side 178-179). Løsningsforslag til tre av disse oppgavene (9, 10, 12) finner du her.



     


    Tibakemelding om dette oppgavesettet kan du skrive i bloggen eller sende på mail til ingridgg[a] ifi.uio.no

Publisert 19. okt. 2013 20:25