Løsningforslag 8: 10.10 - 17.10 (INF1000 - Høst 2013)

Klasser og objekter del 2  (kap. 8 (hele) og 12 (hele) i "Rett på Java" 3. utg.)

Mål
Få et første innblikk i hvordan man programmerer med klasser og objekter.

[Nøkkeloppg.]: Oppgave merket med nøkkelsymbol er plukket ut som spesielt representativ for de viktigste temaene fra ukens forelesning, og alle bør ha som minimumsmål å løse denne selvstendig.

Oppgaver

Programmer en klasse "Type" som kan være enten "Hjerter", "Ruter", "Kløver" eller "Spar". Lag deretter en ny klasse "Kort" som inneholder et tall mellom 1 og 13 i tillegg til en type. Lag deretter en klasse Kortstokk som skal inneholde 52 kort (dette skal være lagret i klassen, Hint: Bruk en array). Programmer deretter

  1. [Nøkkeloppg.]: Modell av barneskole:  (kap. 8, oppg. 7, side 176)
    En forenklet modell av en barneskole er: «En barneskole har N klasserom (for eksempel N=17) og underviser barn i klasser på alle klassetrinn fra 1 til 7. På et klassetrinn er det et antall grupper. Det er maksimalt 28 elever i en gruppe. Det kan godt hende at det er opptil 4 grupper på et bestemt klassetrinn (eks. 2A, 3B, ...). En gruppe er alene om å bruke ett bestemt klasserom.»

    (b) Programmér så klassene i Java slik at du ved hjelp av en heltallsarray-parameter til konstruktøren til klassen Skole får opprettet en array med pekere til syv KlasseTrinn-objekter (Arrayen som brukes som parameter skal inneholde 7 elementer, som angir hvor mange grupper det er i hvert av klassetrinnene 1 - 7). Hvert av disse (KlasseTrinn-objekter) har en array med plass til: fire pekere til hvert sitt Gruppe-objekt. La parameteren til Skole-konstruktøren bestemme hvor mange Gruppe-objekter du lager i hvert KlasseTrinn-objekt.

    (c) Legg inn et navn i hvert Gruppe-objekt (1A, 4B, osv.). Lag en metode skrivUt() i hver av de tre klasseene, slik at du ved kall på skrivUt()-metoden i det ene Skole-objektet du har, får skrevet ut alle navnene på gruppene slik at du starter med førsteklassene.
     

    Løsningforslag: Her.

  2. Kort og kortstokk (Litt vanskelig, men dette går!)

    Programmer en klasse "Type" som kan være av typen "Hjerter", "Ruter", "Spar" eller "Kløver". Programmer deretter en annen klasse "Kort" som skal inneholde en type og et tall mellom 1 og 13. Lag videre en ny klasse "Kortstokk" som inneholder 52 objekter av typen "Kort" (dette skal lagres i klassen. Hint: Bruk en array).

  • Programmer en "dealer" som har en kortstokk og som skal ha metoder for å kontrollere at alle spillekortene i er i kortsokken. Metoden bør returnere true hvis kortstokken inneholder alle kortene, og false hvis kort mangler.

  • Lag deretter en metode til dealeren for å kunne stokke korten. Dette betyr at vi skal bytte om på rekkefølgen til kortene ( Hint: bruk Random.nextInt(52) for å finne en tilfeldig plass i kortstokken).

  • Ta inn antall spillere fra brukeren og lag en metode som gjør at delaeren kan dele ut kortene til spillerne som vil spille. Du skal altså skrive ut til skjerm for hver spiller rundt bordet. 
     

    Løsningforslag: Her.


Tibakemelding på dette løsningsforslaget kan du sende på mail til ingridgg [a] ifi.uio.no

    Publisert 29. okt. 2013 12:02 - Sist endret 30. okt. 2013 10:04