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.
Oppgave 1
Legg inn i et hashmap:
Du har klassen Dyr (se under). Lag en klasse DyreMap, som inneholder en main-metode. Her skal du deklarere et HashMap
class Dyr { String navn; String idnr; Dyr(String navn, String idnr) { this.navn = navn; this.idnr = idnr; } String getIDnr() { return idnr; } }
Oppgave 2
Uke 3: Array med tall
a) Lag et program med en for-l?kke som ber bruker taste inn fem heltall og lagrer disse i en array kalt tall:
int[] tall = new int[5];
b) Sum av array: Utvid programmet slik at det regner ut summen av tallene ved hjelp av en l?kke, og skriver ut resultatet.
c) Minste verdi: Utvid programmet slik at det finner og skriver ut det minste tallet i arrayen.
d) Lave verdier: Legg til programkode som skriver ut alle verdiene i arrayen som er mindre enn 10.
e) S?k: Legg til programkode som skriver ut en beskjed om verdien 5 finnes eller ikke finnes i arrayen.
Oppgave 3
Metoder (10 poeng) oppgave 5 fra eksamen h09
a) Nedenfor er det deklarert en metode sum(int[] array), som skal beregne summen av tallene i en int-array. Vil metoden kompilere? Hvis nei, forklar hva som m? endres for at metoden skal kompilere.
public void sum ( int[] array ) { int sum = 0; for (int i=0; i < array.length: i++) { sum += array { i }; } return sum; }
b) Deklararer en metode snitt(int[] array), som skal beregne gjennomsnittet av tallene i parameteren array av type int-array. Snittet skal beregnes med flyttallsdivisjon og returverdien skal v?re av type double. Du skal skrive hele metoden, inkludert signaturen.
c) Vi kan beregne en gjenstands snitthastighet ved ? dividere tilbakelangt distanse p? tid. Deklararer en metode som tar to double-parametre distanse og tid, og som returnerer hastigheten som en double-verdi. Hvis verdien til tid er 0, skal metoden returnere -1. Du skal skrive hele metoden, inkludert signaturen. Finn p? et passende metodenavn.
d) I sj?- og luftfart oppgis ofte hastigheter i knop. ?n knop er definert som én nautisk mil pr. time, som tilsvarer 1852 meter pr. time. Deklarer en metode som tar en double-parameter knop og returnerer den tilsvarende hastigheten i km/t som en double-verdi. Du skal skrive hele metoden, inkludert signaturen. Finn p? et passende metodenavn.
Oppgave 4
Klasser og objekter, Oppgave 11 eksamen h05 (25 poeng)
I programmet nedenfor skal du lage en konstrukt?r til klassen Pyramide som har pyramidens bredde, lengde og h?yde som tre double-parametreparameter. Du skal ogs? lage en objektmetode i klassen Pyramide som regner ut volumet og returnerer denne verdien (du skal bruke formelen: volum = 0.333*h?yde*bredde*lengde).
Du skal ogs? skrive programkode i main som oppretter to pyramider, en med langde =30.1,bredde=30.1 og h?yde = 22.9 og en med samme grunnflate, men med dobbelt s? stor h?yde som den f?rste pyramiden.
Fra main skal du s? kalle p? volumberegningsmetoden i hvert av de to objektene og skrive ut en linje for hver pyramide med h?yde, lengde og bredde samt volumet.
class PyramideTest { public static void main ( String [] args) { // skriv kode her som lager to Pyramide-objekter og // skriver ut deres h?yde, lengde og volum } // end main } // end class PyramideTest class Pyramide { double h?yde, lengde, bredde; // skriv konstrukt?r her // skriv objektmetode her som beregner og returnerer volumet } // end class Pyramide
Hvis du har tilbakemelding til dette oppgavesettet kan du sende mail til ingridgg [a] ifi.uio.no