KarisBok evas_sykkel AntallBær NUMMER _Tall antallkjoule. antallkalorier. faktor. final int antallår = 35

Størrelse: px
Begynne med side:

Download "KarisBok evas_sykkel AntallBær NUMMER _Tall34 4.2. antallkjoule. antallkalorier. faktor. final int antallår = 35"

Transkript

1 / VQLQJ WLO VPnRSSJDYHQH HWWHU KYHUWXQGHUNDSLWWHO XQWLOEUXNLWLONQ\WQLQJWLOO UHERND3URJUDPPHULQJL-DYDVNUHYHWDY(OVH /HUYLNRJ9HJDUG%+DYGDO6WLIWHOVHQ7,6,3RJ*\OGHQGDO$NDGHPLVN,6%1 class Oppg2_2_2 { public static void main(string[] args) { double lengde = 5.0; double høyde = 2.3; double arealet = lengde * høyde; System.out.println("Arealet av veggen er " + arealet + " kvadratmeter"); double omkretsen = 2 * (lengde + høyde); System.out.println("Omkretsen av veggen er " + omkretsen + " meter"); ) OJHQGHRUGHUORYOLJHQDYQ KarisBok evas_sykkel AntallBær NUMMER _Tall34 5HVHUYHUWHRUGclasspublicstaticvoidfinaldouble 9DULDEOHUfaktorantallKalorierantallKJoule 4.2 faktor 500 antallkalorier 2100 antallkjoule final int antallår = 35

2 )HLO H[SHFWHGµ6HPLNRORQPDQJOHULVOXWWHQDYOLQMHQ double Beløp = 40,95; )HLO,QYDOLGGHFODUDWLRQµ'HWHUGHVLPDONRPPDHWVRPJLUGHQQHPHOGLQJHQ +XVNDWYLEUXNHUSXQNWXPVRPGHVLPDOVNLOOHWHJQ'HQQHPHOGLQJHQNRPPHU RJVnLDQGUHVLWXDVMRQHUGHU-DYDUHWWRJVOHWWLNNHVNM QQHUKYDGXPHQHU final EnKonstant = 789.6; )HLO,GHQWLILHUH[SHFWHGµ RPSLODWRUHQIRUYHQWHUQDYQHWSnQRHLGHWWHWLOIHOOHW HQGDWDW\SH6HWQLQJHQVNDOVHVOLNXW final double EnKonstant = 789.6; 1HVWHVHWQLQJ DOUBLE tall = 15.7; )HLO &ODVV '28%/( QRW IRXQGµ (WWHUVRP DOUBLE LNNH HU HQ SULPLWLY GDWDW\SHDNNXUDWGHWHUGHWLNNHOHWWIRUGHJnYLWHDQWDU-DYDDWGHWHUHQNODVVH 2J-DYDILQQHULQJHQNODVVHPHGGHWWHQDYQHW9LDQWDUDWGHWHUdoublePHGVPn ERNVWDYHUVRPPHQHVKHU double tall = 15.7; 1HVWHVHWQLQJ Beløp = Beløøp * 100; )HLO 8QGHILQHGYDULDEOH%HO Sµ)HLOHQVN\OGHVDQWDNHOLJHQVNULYHIHLO2UGHW BeløøpHULNNHGHNODUHUW9LPHQHUDQWDNHOLJnVNULYHBeløp 6HWQLQJHQHVNDOGHUPHGVHVOLNXW final int antallår = 35; double Beløp = 40.95; final double EnKonstant = 789.6; double tall = 15.7; Beløp = Beløp * 100; Beløp1DYQSnYDULDEOHUPHGLQQKROGVNDOKDOLWHQIRUERNVWDY double "Hallo!" String "\"" String \" char 12345L long 0456 int (i 8-tall-systemet) true boolean 3.245e-5 double

3 DSULVHQdouble EYDUHPHQJGHPnOWLNLORdouble FYDUHPHQJGHPnOWLDQWDOOint GIDUJHNRGHERNVWDYchar HVWUHNNRGHString IQDYQHWString Anne Eliassen Jensen Tallet er Tegnet er a a b c d p q ) OJHQGHWRVHWQLQJHUHUORYOLJH b = b + c; d = d; c + d * a, verdi 23 a * b / c + a, verdi 26 c % d, verdi 1 d % c, verdi 2 p % q, verdi 2.8 q % p, verdi 0.5 c % d % a + b / c, verdi 2 a = b = 16, verdi 16 b * b - 4 * a * c x * x + y * y + z * z x * x * x (a - b) * (a + b) (a + b) / (c + d) 0HUNDW-DYDLNNHKDUHJHQRSHUDWRUIRUSRWHQVHULQJ

4 p + (double) a / q, verdi 5.83 p + a / q, verdi 5.83 (int) p + (int) q, verdi 5 (int) (p + q), verdi 6 6HWQLQJHQa = p + q;nuhyhufdvwlqjhwwhuvrpylyhgwlorugqlqjhqkdurpirup LQJWLOHQPLQGUHGDWDW\SH)RUDWVHWQLQJHQVNDONXQQHXWI UHVPnGHQVHVOLNXW a = (int) (p + q);,qqkroghwlyduldeohqhabrjdhwwhudwghiluhvhwqlq JHQHHUXWI UWHUVRPI OJHUD E G a = , b = LVHUDWaHUEHUHJQHWIHLO'HWVN\OGHVDWUHVXOWDWHWUHJQHVXWVRPHWXWWU\NNDY GDWDW\SHQintRJYLRYHUVNULGHUWDOORPUnGHWIRUGHQQHGDWDYHUGLHQbEOLUULNWLJ IRUGLWDOORPUnGHWWLOK \UHVLGHQnHUlong Møte Student studnr fornavn etternavn fødselsdato adresse reistilstudiested løsoppgave sted møteplan planlagtdeltakere virkeligdeltakere startkl planlagtsluttkl virkeligsluttkl startmøtet registrerdeltakere avsluttmøtet flyttmøtested flyttmøtetid endremøteplan

5 2YQHQKDUHWYROXPRJHQPDNVLPDOHIIHNW'HQKDUJMHUQHIXQNVMRQHUIRUnWLQH RJIRUnNRNH(IIHNWRJNRNHWLGNDQVWLOOHVLQQ Mikrobølgeovn volum makseffekt tin kok stilleffekt stillkoketid $NWXHOOHWLOVWDQGHU2YQHQHULNNHLEUXNGHQNRNHUSnKDOYHIIHNWRYQHQWLQHU 70 hastighet 80 FARTSGRENSE pellepolitibil XX Saab ragnarsbil XY Saab hastighetrjfartsgrensehuyduldeohudysulplwlyhgdwdw\shu9duldehohq fartsgrensekdunrqvwdqwlqqkrogpellepolitibilrjragnarsbilhu UHIHUDQVHUWLOREMHNWHUDYNODVVHQBil2EMHNWHQHHUWHJQHWPHGVLUNOHUSnILJXUHQ Bil arnesbil = new Bil("1234", "Mazda", 1990, 0); // må deklarere arnesbil Bil johansbil = new Bil("ZD-44444", "Peugeot", 1995, 0); // klassenavn etter new, // mangler to argumenter arnesbil.start( ); // metoden skal ikke ha argumenter arnesbil.økfarten(80); // ingen feil arnesbil.brems(30); // metoden skal ha et argument arnesbil.stopp(); // objektnavn og ikke klassenavn foran punktum Bil minbil = new Bil( AB-12345, Opel, 1998, 0); minbil.start(); minbil.økfarten(20); minbil.økfarten(50); minbil.brems(30); minbil.stopp();

6 Student ole = new Student(56789, Ole Jensen ); ole.gjøreksamensoppgave( LO-189D ); ole.gjøreksamensoppgave( LO-190D ); ole.gjøreksamensoppgave( LO-191D ); ole.settkarakter(2.0, LO-189D ); ole.settkarakter(1.8, LO-190D ); ole.settkarakter(2.3, LO-191D ); ole.søkomstudielån(); 'LDORJERNVHQHHUYLVWWLOYHQVWUHXWVNULIWYLQGXHWWLOK \UH3URJUDPPHWVHUVOLNXW import mittbibliotek.*; class Oppg3_5_1 { public static void main(string[] args) { JavabokGUI gui = new JavabokGUI("Oppgave"); gui.show(); int heltall = gui.lesheltall("heltall", "Skriv et heltall: "); double desimaltall = gui.lesdesimaltall("desimaltall", "Skriv et desimaltall: "); String tekst = gui.lestekst("tekst", "Skriv en tekst: "); gui.skrivresultater("dette var en oppgave."); 3URJUDPPHWVHUVOLNXW import mittbibliotek.*; class Oppg3_5_2 { public static void main(string[] args) { JavabokGUI gui = new JavabokGUI("Oppgave"); gui.show(); final double faktor = 4.2; double antallkalorier = gui.lesdesimaltall("kalorier", "Oppgi antall kalorier: "); double antallkjoule = antallkalorier * faktor;

7 ` gui.skrivmelding("kaloriberegning", "Antall kj blir " + antallkjoule); brukergrensesnittobjektet (tjenerobjekt) klientprogrammet (klientobjekt) Les desimaltall antallkalorier klienten regner om til KJoule 1260 Skriv resultater antallkjoule Europa Madrid verdensdel by Spania E land kjennetegn verdensdel land RJby HU UHIHUDQVHU WLO REMHNWHU DY NODVVHQ String kjennetegnhuhqyduldehodygdwdw\shqcharcharhuhqsulplwlygdwdw\sh PHQVStringHUHQNODVVHW\SH yesterdayy9 String tekst = "Anna Lovinda"; // ikke apostrofer, men anførselstegn String artist = new String("Erik Bye"); // klassenavn etter new int anttegn = artist.length( ); // parentes etter length char sistebokstav = artist.charat(anttegn - 1); // tegnene nummereres fra og med 0 System.out.println("Antall tegn i artistnavnet er: " + anttegn

8 + " Siste bokstav er " + sistebokstav); artist = artist.touppercase(); // metoden endrer ikke på objektet, men lager et nytt. // Vi må derfor ta i mot referansen til det nye objektet. System.out.println("Artistnavn med store bokstaver: " + artist); Dette er en av flere oppgaver. Dette er en av flere oppgaver. Datta ar an av flara oppgavar. int pos1 = tekst.indexof('.'); int pos2 = tekst.indexof('.', pos1 + 1); int pos3 = tekst.indexof('9'); int pos4 = tekst.indexof("om"); pos1kduyhuglhqpos2huolnpos3huolnrjpos4huoln1hvwh 2Pµ E UNXQQHILQQHVPHGI OJHQGHVHWQLQJ int pos5 = tekst.indexof("om", pos4 + 1); 8WVNULIWYLVHUDWpos5EOLUOLNVRPHUGHQYHUGLHQindexOf()UHWXUQHUHUGHU VRPGHQLNNHILQQHUGHWGHQOHWHUHWWHU 7ULQQLNODVVHQGolvberegningerVHUQnVOLNXW /* Trinn 1: Lager et objekt av klassen. */ double lengde = gui.lesdesimaltall("lengde", "Oppgi lengden på golvet: "); double bredde = gui.lesdesimaltall("bredde", "Oppgi bredden på golvet: "); Flate etgolv = new Flate("Torils golv", lengde, bredde);oppgave 2 D3HUcVHUHQEHVWHPWSHUVRQRJPRGHOOHUHVGHUIRUVRPHWREMHNW(QNODVVHHU HQEHVNULYHOVHDYHQUHNNHREMHNWHU E6HWQLQJHQXWJM UHWPHWRGHKRGH,SDUHQWHVHQVNDOYLKDSDUDPHWUHGHWYLOVL EHVNULYHOVHUDYDUJXPHQWHQH"Januar"HUHWDUJXPHQW%HVNULYHOVHQYLOY UH IRUHNVHPSHOString måned. F6DPPHKHU1756PnY UHHWDUJXPHQW3DUDPHWHUHQYLOY UHIRUHNVHPSHO int årstall G+HUEODQGHVEHJUHSHQH9LNDQVLDW 2EMHNWHWSHUVRQKDUHWDWWULEXWWQDYQµ

9 H'HWWHHUHWPHWRGHKRGHPHQGHWPnVWnQRHIRUDQPHWRGHQDYQHWHQWHQvoid HOOHUHQGDWDW\SH+LWWLOKDUYLRJVnKDWWPRGLILNDWRUHQpublicIRUDQ'HWWHNDQ XWHODWHV+YDGHWLQQHE UHUVNDOYLVHSnLQHVWHXQGHUNDSLWWHO0HWRGHKRGHWNDQ IRUHNVHPSHOVHVOLNXWdouble finnlønn(string måned) I6HWQLQJHQNDQLNNHRPVNULYHVWLOQRHVRPGHWHUPHQLQJL3DUDPHWHUQHILQQHU YLLPHWRGHKRGHW$UJXPHQWHQHHUGHYHUGLHQHYLVHQGHUPHGPHWRGHQQnUYL EUXNHUGHQIRUnVHQGHHQPHOGLQJWLOHWREMHNW9LVHQGHURJVnPHGDUJXPHQWHU WLONRQVWUXNW UHQ(NVHPSHO class person {... double finnlønn(string måned) // måned er en parameter person enperson = new person( Ole ); // Ole er argument... double lønnen = enperson.finnlønn( Januar ); // Januar er argument J$WWULEXWWHUKDULNNHKRGHRJNURSS0HWRGHUKDUKRGHRJNURSS(WDWWULEXWW HUHQHJHQVNDSYHGHWREMHNW(QELOKDUIRUHNVHPSHODWWULEXWWHQHPHUNHPRGHOO UHJLVWUHULQJVQXPPHURJIDUJH K(QORNDOYDULDEHONDQEDUHQnHVLQQHLGHQEORNNDGHUGHQHUGHNODUHUW(Q REMHNWYDULDEHOGHULPRWNDQQnHVLDOOHPHWRGHULGHQNODVVHQGHUGHQHUGHNODUHUW class Sirkel { private double radius; // datatype mangler public Sirkel(double startradius) { // stor S radius = startradius; // sluttklamme mangler public double finnareal() { // arealet bør være datatypen double return Math.PI * radius * radius; public double finnomkrets() { double omkrets = 2.0 * Math.PI * radius; // må deklarere omkrets return omkrets; class Oppg4_2_4 public static void main(string[] args) { Sirkel ensirkel = new Sirkel(20); double arealet = ensirkel.finnareal(); System.out.println("Arealet er lik " + arealet); double omkretsen = ensirkel.finnomkrets(); System.out.println("Omkretsen er lik " + omkretsen);

10 'HUVRPYLLNNHODJHUNRQVWUXNW UODJHVHQVWDQGDUGNRQVWUXNW UDXWRPDWLVN9L NDQODJHHWREMHNWDYNODVVHQSnI OJHQGHPnWH Flate envegg = new Flate(); 2EMHNWYDULDEOHQHlengdeRJbreddeYLOQnInGHYHUGLHQHVRPHUVDWWRSSLGHN ODUDVMRQHQ+YLVGHWLNNHHUVDWWRSSVSHVLHOOHYHUGLHUGHUInUGHYHUGLHQH (YHQWXHOW NDQ PDQ ODJH PHWRGHU VRP JLU YHUGLHU WLO lengderjbredde 0HWRGHQsettBredde()LIRUULJHRSSJDYHHUHWHNVHPSHOSnHQVOLNPHWRGH D public int finnvarenummer() { return varenr;,nolhqwsurjudpphw System.out.println("Varenummeret er: " + envare.finnvarenummer()); E public String finnvarenavn() { return varenavn;,nolhqwsurjudpphw System.out.println("Varenavnet er: " + envare.finnvarenavn()); F 'HWHUYHUGLHQHVRPVHWWHVDYNRQVWUXNW UHQVRPJMHOGHU G class Vare { private int beholdning;... public int finnbeholdning() { return beholdning; public void økbeholdning(int antall) { beholdning = beholdning + antall; public void minskbeholdning(int antall) { beholdning = beholdning - antall;...

11 ,NOLHQWSURJUDPPHW Vare envare = new Vare("Norvegia", 123, kilopris1, 100); envare.økbeholdning(30); System.out.println("Nå er beholdningen " + envare.finnbeholdning()); envare.minskbeholdning(10); System.out.println("Nå er beholdningen " + envare.finnbeholdning()); 9LKDUVDPPHQDYQSnSDUDPHWHUHQVRPSnREMHNWYDULDEHOHQ'HWWHIRUV NHUYL nknqgwhuhyhgneuxnhthis9lkdulplgohuwlgvdwwthissnihlovlghdywlorugq LQJVWHJQHW'HUVRPYLVNDOKDVDPPHQDYQSnSDUDPHWHURJREMHNWYDULDEHOPn PHWRGHQVHVOLNXW public void settbredde(double bredde) { this.bredde = bredde; D OLHQWSURJUDPPHWNDQVHVOLNXW public static void main(string[] args) { Rom roma = new Rom("A", 20); Rom romb = new Rom("B", 100); Rom romc = new Rom("C", 50); System.out.println("Rom A har nr. " + roma.finnromnr()); System.out.println("Rom B har nr. " + romb.finnromnr()); System.out.println("Rom C har nr. " + romc.finnromnr()); 8WVNULIWHQEOLUVRPI OJHU Rom A har nr. 1 Rom B har nr. 2 Rom C har nr. 3 E 0HWRGHQVHUVOLNXW public static int finnsistbrukteromnr() { return sistbrukteromnr; 'HQNDOOHVVOLN int siste = Rom.finnSistBrukteRomnr(); F (QNODVVHPHWRGHNDQNXQUHIHUHUHWLONODVVHYDULDEOHURJNRQVWDQWHUcUVDNHQWLO GHWWHHUDWPHWRGHQNDOOHVSnYHJQHDYNODVVHQRJGHWHUGHUPHGLNNHNQ\WWHW QRHQEHVWHPWHREMHNWYDULDEOHUWLOGHQ (QREMHNWPHWRGHNDQUHIHUHUHWLODOOHW\SHUYDULDEOHU

12 class Oppg4_5_1 { public static void main(string[] args) { JaNeiTeller tellemaskin = new JaNeiTeller(); tellemaskin.økantallja(); tellemaskin.økantallnei(); System.out.println("Antall ja: " + tellemaskin.finnantallja() + " Antall nei: " + tellemaskin.finnantallnei()); tellemaskin.økantallja(10); tellemaskin.økantallnei(20); System.out.println("Antall ja: " + tellemaskin.finnantallja() + " Antall nei: " + tellemaskin.finnantallnei()); 2 2 D E F class Tegning extends JPanel { public void paintcomponent(graphics vindu) { super.paintcomponent(vindu); // Husk denne! setbackground(color.green); vindu.setcolor(color.blue); vindu.drawstring("hei hei", 50, 100); vindu.setcolor(color.red); vindu.filloval(40, 30, 55, 40); 7HVWSURJUDP class Oppg5_1_1 { public static void main(string[] args) { double tall1 = 0; // må byttes ut for hvert datasett double tall2 = 0; // må byttes ut for hvert datasett Kalkulator kalk = new Kalkulator(tall1, tall2);

13 System.out.println("Tester med tallene " + tall1 + " og " + tall2); System.out.println("Summen er: " + kalk.beregnsum()); System.out.println("Differensen er: " + kalk.beregndifferanse()); System.out.println("Produktet er: " + kalk.beregnprodukt()); System.out.println("Kvotienten er: " + kalk.beregnkvotient()); kalk.setttall(17, 20); System.out.println("De nye tallene er " + kalk.finntall1() + " og " + kalk.finntall2()); 7HVWGDWD GDWDVHWWQU WDOO WDOO DGG VXEWU PXOW GLY 1D1,QILQLW\ 0HWRGHQ public double løsnengrad() { return -tall2 / tall1; 0HWRGHDQURSLWHVWSURJUDPPHW System.out.println("Løsningen til 1.gardslikningen er " + kalk.løsnengrad()); /HJJHULQQHQREMHNWYDULDEHOWLO private double tall3 = 0; /DJHUHQNRQVWUXNW UVRPWDUWUHDUJXPHQWHU public Kalkulator(double starttall1, double starttall2, double starttall3) { tall1 = starttall1; tall2 = starttall2; tall3 = starttall3; 7RPHWRGHUVRPEHUHJQHUU WWHQH public double beregnrot1() {

14 double diskriminant = tall2 * tall2-4 * tall1 * tall3; return (-tall2 + Math.sqrt(diskriminant)) / (2 * tall1); public double beregnrot2() { double diskriminant = tall2 * tall2-4 * tall1 * tall3; return (-tall2 - Math.sqrt(diskriminant)) / (2 * tall1);,nolhqwsurjudpphw Kalkulator kalk = new Kalkulator(tall1, tall2, tall3); System.out.println("Røttene i 2.gradslikningen er " + kalk.beregnrot1() + " og " + kalk.beregnrot2()); boolean multipliser = gui.jasvar("kalkulator", "Skal tallene ganges med hverandre? "); double svar; if (multipliser) { svar = kalkus.beregnprodukt(); gui.skrivresultater("vi beregner: " + kalkus.finntall1() + " * " + kalkus.finntall2()); else { svar = kalkus.beregnkvotient(); gui.skrivresultater("vi beregner: " + kalkus.finntall1() + " / " + kalkus.finntall2()); sumhuoln D,DOWIHPYDULDEOHUGHNODUHUHV,EORNNtall1RJtall2,EORNNtall3RJtall4,EORNNtall3 7RDYYDULDEOHQHKDUVDPPHQDYQ E 'HNODUDVMRQHQHLEORNN 'HILQLVMRQVRPUnGHWWLOtall1HUOLQMH 'HILQLVMRQVRPUnGHWWLOtall2HUOLQMH 'HNODUDVMRQHQHLEORNN

15 'HILQLVMRQVRPUnGHWWLOtall3HUOLQMH 'HILQLVMRQVRPUnGHWWLOtall4HUOLQMH 'HNODUDVMRQHQLEORNN 'HILQLVMRQVRPUnGHWWLOtall3HUOLQMH F tall1 = 60, tall2 = 50 tall1 = 30, tall2 = 100 tall3 = 20, tall4 = 150 tall1 = 30, tall2 = 100 G tall1 = 60, tall2 = 50 tall3 = 65 tall1 = 60, tall2 = 50 D if (antall > 20) kode = M ; else kode = F ; E if (vekt / (høyde * høyde) > 25) { System.out.println("Du er for ting"); $QEHIDOWNRGHIUDRJPHGI UVWHifVHWQLQJVHUVOLNXW if (a < b) a = b; b = 10; if (p == 20) q = 13; else q = 17; if (r > s) { q = 100; s = 200; 9DULDEOHQHKDUI OJHQGHYHUGLHUHWWHUDWNRGHELWHQHUNM UW D E S T U V

16 +YLVstørrelseHUVW UUHHQQVNMHULQJHQWLQJ,PRWVDWWIDOOVNULYHVWHNVWHQ Liten!XWSnVNMHUPHQ RGHELWHQE UVNULYHVVRPI OJHU if (størrelse <= 38) System.out.println("Liten!"); les to tall Kalkulator kalkus = new Kalkulator(tall1, tall2) [operator!= + ] les operator [operator == + ] [operator!= - ] [operator == - ] kalkus.beregnsum() [operator!= * ] [operator == * ] kalkus.beregndifferanse() [operator!= / ] beregning ikke ok [operator == / ] [tall2!= 0 ] kalkus.beregnprodukt() [tall2 == 0 ] kalkus.beregnkvotient() beregning ikke ok [beregning ikke ok ] skriv feilmelding [beregning ok] skriv svaret int a = 20; int b = 30; int c = 40; if (a > b) a = b; else { a = c; b = 50; if (a > 50) a = 100; System.out.println("a = " + a + ", b = " + b + ", c = " + c); 8WVNULIW a = 40, b = 50, c = 40

17 if (poeng < 0) return -1; else if (poeng < 46) return 5; else if (poeng < 71) return 4; else if (poeng < 86) return 3; else if (poeng < 96) return 2; else if (poeng <= 100) return 1; else return -2; class Karakter { private int poeng; public Karakter(int startpoeng) { poeng = startpoeng; public int finnkarakter() { // returnerer negativ verdi hvis ugyldig poengsum if (poeng > 100) return -2; else if (poeng >= 96) return 1; else if (poeng >= 86) return 2; else if (poeng >= 71) return 3; else if (poeng >= 46) return 4; else if (poeng >= 0) return 5; else return -1; class Oppg5_5_4 { public static void main(string[] args) { int antpoeng = 68; // andre testdata: -1, 102, samt innen hvert intervall // og på intervallgrensene Karakter kar1 = new Karakter(antPoeng); int karakter = kar1.finnkarakter(); if (karakter == -1) System.out.println("Negativ poengsum ikke tillatt"); else if (karakter == -2) System.out.println("Maks poengsum er 100"); else System.out.println(antPoeng + " poeng gir karakteren " + karakter); DWUXH EIDOVH FIDOVH GWUXH a) antallelever > 20 && antallelever < 30; b) loddnr == 3 loddnr == 18 loddnr == 25; c) svar == 'j' svar == 'J'; d) temp < 15 temp > 25;

18 e) sum > 0 && sum <= 10 sum >= 100; f) tegn >= A && tegn <= Z tegn >= a && tegn <= z tegn == 'æ' tegn == 'ø' tegn == 'å' tegn == 'Æ' tegn == 'Ø' tegn == 'Å'; g) tegn >= '0' && tegn <= '9'; D RJD JLUDWYHUGLHQWLOXWWU\NNHWHUVDQWPHQVD JLUYHUGLHQ XVDQQ a == - 20 a >= 0 && a <= 10 a >= 15 && a <= 20 a > 100 a = 17 a = 120 a = -30 usant usant usant sant sant usant usant usant sant sant sant usant sant usant sant usant sant usant usant usant usant sant usant usant usant usant usant sant usant usant sant sant usant 6\QWDNVIHLO'HWHULNNHWLOODWWnUDPVHRSSIOHUHYHUGLHULVDPPHcaseHWLNHWW /RJLVNIHLObreak Pn OHJJHV LQQWLO VOXWW XQGHUGH casehwlnhwwhqh GHU SUR JUDPNRQWUROOHQVNDOKRSSHXWDYswitchEORNNHQ ) OJHQGHSURJUDPNRGHHUDQWDJOLJPHULVDPVYDUPHGGHWSURJUDPPHUHUHQKDU PHQW switch (ukedag) { case 1: /* ikke break */ case 2: System.out.println("Begynnelsen av uka");

19 break; case 3: /* ikke break */ case 4: System.out.println("Midt i uka"); break; case 5: System.out.println("Slutten av uka"); break; case 6: /* ikke break */ case 7: System.out.println("Helg"); break; default: System.out.println("Ugyldig ukedag: " + ukedag); break; RGHELWHQLRSSJDYHQLQQHKROGHURJVnHWVHPLNRORQKHOWWLOVOXWW'HWWHHUXQ G YHQGLJ 1XOOJDQJHU int teller = 0; while (teller < 0) { System.out.println("Dette er en linje"); teller++; 8HQGHOLJPDQJHJDQJHUYL NRPPHQWHUHUERUWµRSSGDWHULQJDYWHOOHUHQ System.out.println("***Uendelig mange ganger:"); teller = 0; while (teller < 5) { System.out.println("Dette er en linje"); // teller++; class Oppg6_2_1 { public static void main(string[] args) { int småtall = 0; int storetall = 0; int tall = (int) (500 * Math.random() + 1); while (tall!= 250) { if (tall > 250) storetall++;

20 else småtall++; tall = (int) (500 * Math.random() + 1); System.out.println("Antall store tall: " + storetall); System.out.println("Antall små tall: " + småtall); import mittbibliotek.*; class Oppg6_2_2 { public static void main(string[] args) { JavabokGUI gui = new JavabokGUI("Potensering"); gui.show(); double x = gui.lesdesimaltall("potensering", "Skriv grunntallet: "); int n = gui.lesheltall("potensering", "Skriv eksponenten: "); double svar = 1; // Et tall opphøyd i 0. potens er lik 1, ikke 0 int teller = 0; // teller må starte på 0, dersom betingelsen ikke skal forandres while (teller < n) { svar *= x; // svar må ganges med x, ikke med n teller++; // teller skal øke, ikke n gui.skrivresultater("svaret er " + svar); 3URJUDPPHWIXQJHUHULNNHIRUQHJDWLYHNVSRQHQW GDWDVHWWQU Q IRUYVYDUPHG JUXQQWDOO IRUYVYDUPHG JUXQQWDOO IRUYVYDUPHG JUXQQWDOO D 9LIRUXWVHWWHUDWGHWHUQRNnI\OOHYDQQNDQQDHQJDQJ+YLVGHWLNNHHUGHWInUYL HQWHVWSnRPGHWHUQRNYDQQLQQHLO NND'HQQHWHVWHQPnOLJJHIRUDQDNWLY LWHWHQ YDQQEORPVWHQµ+YLVGHWLNNHHUQRNYDQQPnYLI\OOHNDQQDI UYLYDQ QHU

21 fyll vannkanna gå til første blomst initiering av løkken [blomst ikke funnet] [blomst funnet] løkkebetingelsen vann blomsten gå til neste blomst løkkekroppen oppdatering av løkkebetingelsen E gå til første vindu initiering av løkken [vindu ikke lukket] [vindu lukket] gå til neste vindu løkkebetingelsen løkkekroppen og oppdatering av løkkebetingelsen

22 F antalldager = 0 dagnr = 1 initiering av løkken [dagnr > 31] [ikke syklet] [dagnr <= 31] [syklet] løkkebetingelsen løkkekroppen antalldager++ dagnr++ oppdatering av løkkebetingelsen skriv ut antalldager public void paintcomponent(graphics vindu) { super.paintcomponent(vindu); int x = (int) ((vindubredde - diameter) * Math.random() + 1); int y = (int) ((vinduhøyde - diameter) * Math.random() + 1); int x1 = x; // Tar vare på koordinatene til det første punktet. int y1 = y; vindu.filloval(x, y, diameter, diameter); int teller = 0; while (teller < antstreker) { int forrigex = x; int forrigey = y; x = (int) ((vindubredde - diameter) * Math.random() + 1); y = (int) ((vinduhøyde - diameter) * Math.random() + 1); vindu.drawline(forrigex + sentr, forrigey + sentr, x + sentr, y + sentr); vindu.filloval(x, y, diameter, diameter); teller++; // Tegner en linje mellom siste og første sirkel vindu.drawline(x + sentr, y + sentr, x1 + sentr, y1 + sentr);

23 (QORJLVNHYDULDEHOfyltVW\UHUKYRUYLGWVLUNHOHQVNDOY UHI\OWHOOHULNNH/HJJ PHUNHWLOKYRUGDQYLVNLIWHUYHUGLSnGHQORJLVNHYDULDEHOHQI UKYHUWHJQLQJ public void paintcomponent(graphics vindu) { super.paintcomponent(vindu); int x = (int) ((vindubredde - diameter) * Math.random() + 1); int y = (int) ((vinduhøyde - diameter) * Math.random() + 1); boolean fylt = true; vindu.filloval(x, y, diameter, diameter); int teller = 0; while (teller < antstreker) { int forrigex = x; int forrigey = y; x = (int) ((vindubredde - diameter) * Math.random() + 1); y = (int) ((vinduhøyde - diameter) * Math.random() + 1); vindu.drawline(forrigex + sentr, forrigey + sentr, x + sentr, y + sentr); fylt =!fylt; if (fylt) vindu.filloval(x, y, diameter, diameter); else vindu.drawoval(x, y, diameter, diameter); teller++; public void paintcomponent(graphics vindu) { super.paintcomponent(vindu); int x = 0; int y = 50; int diameter = 20; boolean fylt = true; for (int teller = 0; teller < 30; teller++) { if (fylt) vindu.filloval(x, y, diameter, diameter); else vindu.drawoval(x, y, diameter, diameter); fylt =!fylt; x += diameter; diameter += 2; $%998,+-9 JLUXWVNULIWHQ

24 VV VVVV VVVVVVVV 3URJUDPPHWOHWHUHWWHU9 HULtekst'HQI UVWH9 HQI UHUWLODWWR9 HUVNULYHV XWGHQDQGUHWLODWILUH9 HUVNULYHVXWGHQWUHGMHWLODWnWWH9 HUVNULYHVXWRVY class Tegning extends JPanel { private static final int vindubredde = 400; // må stemme med private static final int vinduhøyde = 300; //.html-filen private static final int startdiameter = 6; private static final int diameterinkr = 4; private static final int antstreker = 10; public void paintcomponent(graphics vindu) { super.paintcomponent(vindu); int x = (int) (vindubredde * Math.random() + 1); int y = (int) (vinduhøyde * Math.random() + 1); vindu.drawoval(x, y, startdiameter, startdiameter); int antsirkler = 1; int teller = 0; while (teller < antstreker) { int forrigex = x; int forrigey = y; x = (int) (vindubredde * Math.random() + 1); y = (int) (vinduhøyde * Math.random() + 1); int diameter = startdiameter; int radius = diameter / 2; vindu.drawline(forrigex + radius, forrigey + radius, x + radius, y + radius); antsirkler++; int dennex = x; int denney = y; for (int sirkelnr = 0; sirkelnr < antsirkler; sirkelnr++) { vindu.drawoval(dennex, denney, diameter, diameter); diameter += diameterinkr; dennex -= diameterinkr / 2; denney -= diameterinkr / 2; teller++;

25 D klienten lager en flate og et tapetobjekt klienten ber tapeten beregne antall ruller som trengs til flaten tapeten spør flaten om lengde og bredde og kan deretter beregne antall ruller som trengs klient new new tapeten finnantruller(flaten) finnlengde() finnbredde() flaten E lengdeflate = enflate.finnlengde() breddeflate = enflate.finnbredde() beregn antall høyder vi trenger finn antall høyder vi får av en rull finn hvor mange ruller som trengs

26 class Maling { private static final double grense = 0.02; // grense for å kjøpe 0.5 liter maling til private String navn; // identifiserer malingen private double pris; // pr.liter private int antstrøk; private double antkvmprliter; public Maling(String startnavn, double startpris, int startantstrøk, double startantkvmprliter) { navn = startnavn; antstrøk = startantstrøk; antkvmprliter = startantkvmprliter; pris = startpris; public String finnnavn() { return navn; public double finnprisprliter() { return pris; public int finnantstrøk() { return antstrøk; public double finnantkvmprliter() { return antkvmprliter; /* * Metoden finner antall liter maling som trengs, * behovet rundes oppover til nærmeste halve liter. */ public double finnantliter(flate enflate) { double areal = enflate.finnareal(); double antliter = areal * antstrøk / antkvmprliter; int heltantalllitere = (int) antliter; double overliteren = antliter - heltantalllitere; if (overliteren >= grense) return heltantalllitere + 1.0; else if (overliteren >= grense) return heltantalllitere + 0.5; else return heltantalllitere; public double finntotalpris(flate enflate) { return finnantliter(enflate) * pris;

27 public boolean likegammel(person p) { // metode a) if (p.fødselsår == fødselsår) return true; // kan også bruke p.finnfødselsår() else return false; public int sammenliknalder(person p) { // metode b) if (fødselsår < p.fødselsår) return -1; else if (fødselsår > p.fødselsår) return +1; else return 0; public boolean flereåreldreenn(person p, int antår) { // metode c) if (fødselsår - antår > p.fødselsår) return true; else return false; (NVHPSHOSnEUXNDYPHWRGHQH if (p1.likegammel(p2)) System.out.println("Like gamle"); else System.out.println("Ikke like gamle"); if (p1.sammenliknalder(p2) < 0) System.out.println("p1 er yngst"); else if (p1.sammenliknalder(p2) > 0) System.out.println("p1 er eldst"); else System.out.println("p1 og p2 er like gamle"); if (p1.flereåreldreenn(p2, 3)) System.out.println("p1 er mer enn 3 år eldre enn p2"); if (p2.flereåreldreenn(p1, 3)) System.out.println("p2 er mer enn 3 år eldre enn p1"); String[] alternativer = { Hamar, Bergen, Trondheim, Oslo, Tromsø, Narvik ; int valg = gui.velgfraenkeltvalgliste("valg", "Velg en by:", alternativer); System.out.println( Følgende by er valgt: + alternativer[valg]); D RQVWUXNW UHQProsjektKap7GUI() 2SSUHWWHUREMHNWHWguiDYNODVVHQJavabokGUI 2SSUHWWHUREMHNWHWdetaljGuiDYNODVVHQLesDataGUI guirjdetaljguihuremhnwyduldeohulnodvvhqprosjektkap7gui. 0HWRGHQmain()LNODVVHQOppussingKap7 2SSUHWWHUREMHNWHWetProsjektGuiDYNODVVHQProsjektKap7GUI etprosjektguihuorndoyduldeholmain(),nodvvhqlesdatagui 2SSUHWWHUenFlateDYNODVVHQFlateLPHWRGHQlesOgLagFlate() 2SSUHWWHUenTapetDYNODVVHQTapetLPHWRGHQlesOgLagTapet()

28 2SSUHWWHUenMalingDYNODVVHQMalingLPHWRGHQlesOgLagMaling() 2SSUHWWHUetBeleggDYNODVVHQBeleggLPHWRGHQlesOgLagbelegg() enflateentapetenmalingrjetbelegghudoohorndohyduldeohurjrjvn UHWXUYHUGLHUIUDGHUHVSHWLYHPHWRGHQH E %UXNHUHQYHOJHU $YVOXWWµQnUSURJUDPPHWVNDODYVOXWWHV3URJUDPNRQWUROOHQYLO OLNHYHOJnLQQLPHWRGHQutførMenyvalg()RJVS UUHEUXNHUHQRPIODWHGDWD 'HWWHHUHQVLWXDVMRQGHUGHWHUIULVWHQGHnOHJJHLQQHQifVHWQLQJVRPIRUKLQ GUHUGHWWHGHUVRPEUXNHUHQKDUYDOJW $YVOXWWµ0HQGDHUYLWLOEDNHWLOHQO NNH GHUNRQWUROODYEHWLQJHOVHQOLJJHULEHJ\QQHOVHQDYO NNHQRJYLE ULVWHGHWEUXNH HQwhileO NNH F 5HWXUYHUGLHQIUDPHWRGHQvelgFraEnkeltvalgListe()HUHOOHURJ GHQODJUHVLYDULDEHOHQvalg9DULDEHOHQvalgEUXNHVLswitchVHWQLQJHQRJ NRQVWDQWXWWU\NNHQHGHUPnVYDUHWLOGHYHUGLHQHVRPvalgNDQKD D plass1 lekeplass plass1 navn navn plassen enlekeplass Under hver referanse står navnet på referansen. E /HQJGHQSnSODVVHQHQGUHVI UVWWLOGHUHWWHUWLO plass1 lekeplass plass1 navn navn plassen enlekeplass

29 F A: plass1 lengde: 4.5 bredde: 3.0 B: plass1 lengde: 5.0 bredde: 3.0 0HWRGHVRPODJHUNRSL public void settbelegg(belegg nyttbelegg) { belegg = new Belegg(nyttBelegg.finnNavn(), nyttbelegg.finnprisprm(), nyttbelegg.finnbredde()); 0HWRGHVRPLNNHODJHUNRSL public void settbelegg(belegg nyttbelegg) { belegg = nyttbelegg;,qqkroghwlyduldeohqhtall1rjtall2e\wwhvrpvolndwxwvnuliwhqeolu Før: 3 4 Etter: 4 3 8WVNULIWHQEOLUVOLN Før: 10 4 Etter: PE\WWLQJ LQQH L HQ PHWRGH KDU LQJHQ HIIHNW Sn YDULDEOHQH KRV NOLHQWHQ Sn JUXQQDYDWPHWRGHQMREEHUPHGNRSLHUDYGLVVHYDULDEOHQH,GHQI UVWHPHWRGHQJLVUHIHUDQVHQHQ\HYHUGLHU'HWKDULQJHQHIIHNWHWWHUVRP UHIHUDQVHQHVRPPHWRGHQHMREEHUPHGHUNRSLHUDYUHIHUDQVHQHKRVNOLHQWHQ,GHQDQGUHPHWRGHQJM UPDQKHOOHULNNHQRHDQQHWHQQnJLQ\HYHUGLHUWLOUHIHU DQVHQHf1RJf2 )RUnNXQQHIRUDQGUHSnLQQKROGHWLREMHNWHQHLQQHLPHWRGHQPnYLEUXNH VHWWPHWRGHU ODVVHQFlateInUI OJHQGHVHWWPHWRGHU public void settnavn(string nyttnavn) { navn = nyttnavn; public void settlengde(double nylengde) { lengde = nylengde;

30 public void settbredde(double nybredde) { bredde = nybredde; 0HWRGHQLNODVVHQToysOgTullNDQVHVOLNXW public void byttomobjekter3(flate f1, Flate f2) { Flate hjelp = new Flate(f1.finnNavn(), f1.finnlengde(), f1.finnbredde()); f1.settnavn(f2.finnnavn()); f1.settlengde(f2.finnlengde()); f1.settbredde(f2.finnbredde()); f2.settnavn(hjelp.finnnavn()); f2.settlengde(hjelp.finnlengde()); f2.settbredde(hjelp.finnbredde()); Oppg. 1 Oppg. 2 Alle klasser i java.applet 6OnRSSSnabs()L,QGH[6HILJXUHQ'XInUIUDPPDQJHPHWRGHUPHGVDPPH QDYQ6DQQV\QOLJYLVHUHQDYNODVVHPHWRGHQHLNODVVHQMathGHQULNWLJH 6HWLOYHQVWUHSnILJXUHQ'XNOLNNHUSnGHQDNWXHOOHSDNNHQ YHUVWWLOYHQVWUH+HU KDUYLNOLNNHWSnjava.applet'DNRPPHUDOOHNODVVHQHLGHQQHSDNNHQIUDP +RYHGIRUVNMHOOHQPHOORPStringRJStringBufferHUDWPHQVStringHU LPPXWDEHOVnHUStringBufferPXWDEHO$OOHWLOV\QHODWHQGHHQGULQJVPHWRGHU LNODVVHQStringHQGUHULNNHSnREMHNWHWPHQODJHUHWQ\WW(NVHPSHO

31 String t1 = new String( Arne ); String t2 = t1.touppercase(); System.out.println(t1 + + t2); Utskrift: Arne ARNE touppercase()odjhuhwq\wwremhnw)rudwylvndonxqqheuxnhghwylghuhl SURJUDPPHWPnYLODJHHQUHIHUDQVHt2VRPWDULPRWUHIHUDQVHQWLOGHWWHREMHN WHW ODVVHQStringBufferLQQHKROGHUPHWRGHUIRUnIMHUQHRJVHWWHLQQWHJQLHQ WHNVW StringBuffer s1 = new StringBuffer( Arne ); StringBuffer s2 = s1.insert(2, xxxx ); System.out.println(s1 + + s2); 8WVNULIWHQDYGHQQHOLOOHNRGHELWHQHUVRPI OJHU Arxxxxne Arxxxxne import java.text.*; import java.util.*; class Oppg8_2_1 { public static void main(string[] args) { DateFormat datoformat1 = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL); DateFormat datoformat2 = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG); DateFormat datoformat3 = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM); DateFormat datoformat4 = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); Date idag = new Date(); System.out.println("Format FULL: " + datoformat1.format(idag)); System.out.println("Format LONG: " + datoformat2.format(idag)); System.out.println("Format MEDIUM: " + datoformat3.format(idag)); System.out.println("Format SHORT: " + datoformat4.format(idag)); 8WVNULIWHQVHUVOLNXW Format FULL: 25. oktober 1999 kl GMT+02:00 Format LONG: 25. oktober :30:26 GMT+02:00 Format MEDIUM: 25.okt.99 13:30:26 Format SHORT: :30

32 8WVNULIWHQEOLUVRPI OJHUIRUnOHWWHOHVEDUKHWHQHU RJnUHWWHWRSS Nå er i = 0 Divisjon med null! Nå begynner vi på for-løkke nr. 2: Nå er i = 0 Divisjon med null! Nå er i = 1 1 Nå er i = 2 0 Nå er i = 3 0 Nå er i = 4 0 ) UVWHO NNHKDUtrycatchEORNNHQXWHQIRUO NNHQ'HWWHI UHUWLODWSUR JUDPNRQWUROOHQKRSSHUXWDYO NNHQI UVWHJDQJHQArithmeticException NDVWHV $QGUH O NNH KDU trycatcheornnhq UXQGW O NNHNURSSHQ 'HUVRP GLYLVMRQ PHGQXOOLQQWUHIIHUVNULYHVPHOGLQJHQXWRJSURJUDPNRQWUROOHQIRUWVHWWHUPHG I UVWH VHWQLQJ HWWHU trycatcheornnhq GHW YLO VL QHVWH JMHQQRPO S DY foro NNHQ cuvdnhqwlodwylinuxwqnul RJVN\OGHVDWUHVXOWDWHWIUDHQKHOWDOOVGLYLVMRQ HUKHOWDOOHWXWHQUHVW D int[] antdager = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31; E JavabokGUI gui = new JavabokGUI("Kalender"); boolean skuddår = gui.jasvar("kalender", "Er det skuddår? "); if (skuddår) antdager[1] = 29; char[] navn = {'A', 'N', 'N', 'E'; for (int i = navn.length - 1; i >= 0; i--) System.out.print(navn[i]); // ingen linjeskift her System.out.println(); // et linjeskift til slutt 7DEHOOHQKDUI OJHQGHLQQKROG

33 int tablengde = tab1.length; // lik for begge tabellene for (int i = 0; i < tablengde; i++) { tab2[tablengde i] = tab1[i]; ([FHSWLRQVVRPNDQNDVWHVRJPnWHUYLNDQXQQJnGHWSn IndexOutOfBoundsException'HWWHXQQWDNHWNDVWHVKYLVNRSLHULQJHQ PHGI UHUXJ\OGLJLQGHNVHULQJLHQDYWDEHOOHQH) OJHQGHWHVWV UJHUIRUDWGWWH XQQWDNHWLNNHNDVWHV if (fraindeks >= 0 && tilindeks >= 0 && antall >= 0 && fraindeks + antall <= fratabell.length && tilindeks + antall <= tiltabell.length) { // ok å kopiere ArrayStoreException'WWHXQQWDNHWNDVWHVKYLVGDWDW\SHQWLOGHWRWD EHOOHQHLNNHVWHPPHURYHUHQVHOOHUUHIHUDQVHQHLNNHUHIHUHUHUWLOWDEHOOREMHN WHU(NVHPSHO int[] tab2 = {7, 14, -6, 0; double[] tab3 = new double[10]; System.arraycopy(tab2, 1, tab3, 0, 3); // kaster ArrayStoreException 7DEHOOHQHPnWLOK UHVDPPHSULPLWLYHGDWDW\SH NullPointerException 'WWH XQQWDNHW NDVWHV KYLV fratabell HOOHU tiltabellhuolnnull(nvhpsho int[] tab1 = {1, 4, 6, -2; int[] tab4 = null; System.arraycopy(tab4, 1, tab1, 0, 3); // kaster NullPointerException 8WVNULIWHQEOLUVRPI OJHU novemberr maiai public int finnantdgmaks() { int maks = finnmaksimum(); int antmaks = 0; for (int i = 0; i < nedbør.length; i++) { if (nedbør[i] == maks) antmaks++; return antmaks;

34 8WSU YLQJ/HJJI OJHQGHLQQLNOLHQWSURJUDPPHW int antdgmaks = januar.finnantdgmaks(); System.out.println("Antall dager med maks. nedbør: " + antdgmaks); public int antdgmindreenn(int grense) { int antall = 0; for (int i = 0; i < nedbør.length; i++) { if (nedbør[i] < grense) antall++; return antall; 8WSU YLQJ int antdgmindreenngrense = januar.antdgmindreenn(4); System.out.println("Antall dager med nedbør mindre enn 4: " + antdgmindreenngrense); public double finnstdavvik() { if (nedbør.length > 1) { double gjsnitt = finngjsnitt(); double sumkvadrat = 0; for (int i = 0; i < nedbør.length; i++) { sumkvadrat += (gjsnitt - nedbør[i]) * (gjsnitt - nedbør[i]); System.out.println(sumKvadrat); double radikand = sumkvadrat/ (nedbør.length - 1); return Math.sqrt(radikand); // Retur. Std.avvik beregnet etter formel else return 0.0; // Retur. For lite data til å beregne std.avvik 8WSU YLQJ double stdavvik = januar.finnstdavvik(); System.out.println("Standard avvik er: " + stdavvik); 9LPnVQXXOLNKHWVWHJQHWLVDPPHQOLNQLQJHQRJYLE UKHOVWRJVnVNLIWHQDYQSn YDULDEHOHQHittilMinstWLOHittilStørst public static void sorterheltallstabell2(int[] tabell) { for (int start = 0; start < tabell.length; start++) { int hittilstørst = start; for (int i = start + 1; i < tabell.length; i++) { if (tabell[i] > tabell[hittilstørst]) hittilstørst = i; int hjelp = tabell[hittilstørst]; tabell[hittilstørst] = tabell[start]; tabell[start] = hjelp;

35 import mittbibliotek.*; class Oppg9_4_2 { public static int[] sorterogfjerndubletter(int[] tab) { Sorter.sorterHeltallstabell(tab); // sorterer først tabellen if (tab.length > 0) { int[] nytab = new int[tab.length]; nytab[0] = tab[0]; int antall = 1; // antall forskjellige tall int forrigetall = tab[0]; int indeks = 1; // indeks i sorterttab /* løper gjennom hele tabellen */ while (indeks < tab.length) { /* hopper over alle dubletter */ while (indeks < tab.length && tab[indeks] == forrigetall) indeks++; /* hvis vi ikke har nådd tabell-slutt, har vi funnet et element med en annen verdi */ if (indeks < tab.length) { forrigetall = tab[indeks]; nytab[antall] = tab[indeks]; antall++; /* lager en tabell med akkurat riktig størrelse */ int[] nytab2 = new int[antall]; for (int i = 0; i < antall; i++) { nytab2[i] = nytab[i]; return nytab2; return null; // parameteren refererer til en tom tabell public static void main(string[] args) { int[] test = {3, 4, -5, 13, 10, 4, 11, 0, 8, -2, 11, 22, 15, 11, 9, 17, 4; int[] tab = sorterogfjerndubletter(test); System.out.println("Sortert tabell, dubletter fjernet: "); for (int i = 0; i < tab.length; i++) System.out.print(tab[i] + " "); System.out.println(); /* Kjøring av programmet: Sortert tabell, dubletter fjernet: */

36 public static int[] addertabeller(int[] tab1, int[] tab2) { if (tab1.length == tab2.length) { int[] sum = new int[tab1.length]; for (int i = 0; i < tab1.length; i++) { sum[i] = tab1[i] + tab2[i]; return sum; // retur else return null; // retur, tabellene ikke like lange public static int søk(int[] tab, int verdi) { int indeks = 0; while (indeks < tab.length && tab[indeks] <= verdi) { if (tab[indeks] == verdi) return indeks; indeks++; return -1; public static int søk(int[] tab, int verdi) { int indeks = 0; int indekssøktetter = -1; // hvis vi ikke finner det vi leter etter while (indeks < tab.length && tab[indeks] <= verdi) { if (tab[indeks] == verdi) indekssøktetter = indeks; indeks++; return indekssøktetter; public static void main(string[] args) { int[] test = new int[8]; java.util.arrays.fill(test, 15); System.out.println("Har fylt tabellen med tallet 15:"); for (int i = 0; i < test.length; i++) System.out.print(test[i] + " "); System.out.println(); int fraindeks = 3; int tilindeks = 6; if (fraindeks >= 0 && fraindeks < test.length && tilindeks >= 0 && tilindeks < test.length && fraindeks <= tilindeks) { java.util.arrays.fill(test, fraindeks, tilindeks, 20);

37 System.out.println("Har fylt tabellen med tallet 20 fra og med indeks " + fraindeks + " til og med indeks " + (tilindeks - 1)); for (int i = 0; i < test.length; i++) System.out.print(test[i] + " "); System.out.println(); else System.out.println("Ugyldig indeks."); public static void main(string[] args) { int[] test = {-5, -2, 0, 3, 4, 4, 4, 8, 9, 11, 11; int verdi = 7; int indeks = java.util.arrays.binarysearch(test, verdi); System.out.println("Returverdi: " + indeks); if (indeks < 0) { // verdien finnes ikke i tabellen int plass = -indeks - 1; // posisjonen der verdien skal inn int[] testny = new int[test.length + 1]; for (int i = 0; i < plass; i++) testny[i] = test[i]; testny[plass] = verdi; for (int i = plass; i < test.length; i++) testny[i + 1] = test[i]; test = testny; System.out.println("Ny og utvidet tabell: "); for (int i = 0; i < test.length; i++) System.out.print(test[i] + " "); System.out.println(); else System.out.println("Verdien er funnet på indeks " + indeks); 8NHQXPPHUQHOLJJHUpQIRUVNM YHWLIRUKROGWLOLQGHNVHQHHNVHPSHO8NHKDU LQGHNV7LOVYDUHQGHIRUGDJHQH'DJHQPHGLQGHNVHUPDQGDJ Salgstall året1999 = new Salgstall("sko", 52, 5); // oppgave a) året1999.settsalg(9, 0, 10000); // oppgave b) året1999.settsalg(7, 3, 12100); // oppgave c) System.out.println("Total salg uke 5: " + året1999.finnsalgforheluke(4)); // oppgave d) System.out.println("Salg uke 6, mandag: " + året1999.finnsalg(5, 0)); // oppgave e) System.out.println("Totalt salg hele året: " + året1999.finntotalsalg()); // oppgave f) int dag = året1999.finnmestlønnsommeukedag(); // oppgave g) System.out.println("Mest lønnsomme ukedag: Dag nr. " + (dag + 1) + " med salg på: " + året1999.finnsalgforukedag(dag)); D public double finnsnittpruke() { int sum = 0; for (int i = 0; i < finnantuker(); i++) { sum += finnsalgforheluke(i); if (finnantuker() > 0) return (double) sum / (double) finnantuker(); else return 0;

38 E public int[] finnlønnsommeuker() { if (finnantuker() > 0) { /* finner først maks.verdien */ int maks = finnsalgforheluke(0); for (int i = 1; i < finnantuker(); i++) { if (finnsalgforheluke(i) > maks) maks = finnsalgforheluke(i); /* finner deretter alle ukene med denne verdien */ int[] ukenr = new int[finnantuker()]; // tabell med plass til ukenr int antall = 0; // antall uker med verdi lik maks for (int i = 0; i < finnantuker(); i++) { if (finnsalgforheluke(i) == maks) { ukenr[antall] = i; antall++; /* lager tabell av riktig størrelse, og kopierer over */ int[] ukenrmedmakssalg = new int[antall]; for (int i = 0; i < antall; i++) { ukenrmedmakssalg[i] = ukenr[i]; return ukenrmedmakssalg; else return null; D 7DEHOOHQUHVXOWDW int[][] resultat = new int[antlag][antmuligeres]; $QWDOOOLQMHUWLOVYDUHUDQWDOOODJ$QWDOONRORQQHUHUOLNDQW0XOLJH5HV RORQQHDQWDOONDPSHUYXQQHW RORQQHDQWDOONDPSHUXDYJMRUW RORQQHDQWDOONDPSHUWDSW E )XOOVWHQGLJNODVVHPHGNRQVWUXNW U class Oppg9_7_3 { private final int antmuligeres = 3; private int antpoengvunnet = 3; private int antpoenguavgjort = 1; private int antpoengtap = 0; /* Tabellen resultat: * Antall linjer tilsvarer antall lag. * Antall kolonner er lik antmuligeres. * Kolonne 0: antall kamper vunnet.

39 * Kolonne 1. antall kamper uavgjort * Kolonne 2: antall kamper tapt */ private int[][] resultat; public Oppg9_7_3(int antlag) { resultat = new int[antlag][antmuligeres]; /*resultat[3][0] = 1; //for testing resultat[3][1] = 2; resultat[3][2] = 3; resultat[6][0] = 1; resultat[6][1] = 2; resultat[6][2] = 3;*/ public int[] finnantpoeng() { int antlag = resultat.length; int[] poengtabell = new int[antlag]; for (int i = 0; i < poengtabell.length; i++) { poengtabell[i] += resultat[i][0] * antpoengvunnet + resultat[i][1] * antpoenguavgjort + resultat[i][2] * antpoengtap; return poengtabell; (WWHVWSURJUDPNDQVHVOLNXW public static void main(string[] args) { Oppg9_7_3 fotball = new Oppg9_7_3(10); int[] poeng = fotball.finnantpoeng(); for (int i = 0; i < poeng.length; i++) { System.out.println("Lag nr. " + i + ": " + poeng[i] + " poeng"); D int[][][] epler = new int[3][10][5]; E ODVVHQKDUI OJHQGHYDULDEOHU public static final int antallfelt = 3; public static final int antalltrær = 10; public static final int antallår = 5; private int[][][] epler = new int[antallfelt][antalltrær][antallår]; 0HWRGHQVRPILQQHUDQWDOONLORSUIHOWEOLUVOLN public int[] finnavlingfordeltpåfelt() { int[] avling = new int[antallfelt]; for (int felt = 0; felt < antallfelt; felt++) {

40 for (int tre = 0; tre < antalltrær; tre++) { for (int år = 0; år < antallår; år++) { avling[felt] += epler[felt][tre][år]; return avling; RGHELWHQYLOYHGNM ULQJNDVWHWRW\SHUXQQWDN NullPointerException 7DEHOOHQ varenehuhqwdehoodyuhihudqvhu 'LVVHUHIHUDQVHQHPnVHWWHVWLOnSHNHWLOREMHNWHUI UYLNDQVHQGHPHOGLQJHU WLOREMHNWHQH0HGDQGUHRUG9LPnVNULYHIRUHNVHPSHO varene[0] = new Vare("TV-dress", 100, ); I UYLNDQVHQGHPHOGLQJWLOGHWWHREMHNWHW varene[1].settpris(320.50); ArrayIndexOutOfBoundException'HWWHXQQWDNHWNDVWHVQnUYLLVLVWH VHWQLQJUHIHUHUHUWLOWDEHOOHOHPHQWPHGLQGHNV(OHPHQWHQHLHQWDEHOOPHG VW UUHOVHQXPPHUHUHVRJ D HOOHU navneliste[1] = new String("Anders"); navneliste[1] = "Anders"; E navneliste[3] = etnavn; F int sumlengde = 0; for (int i = 0; i < navneliste.length; i++) { sumlengde += navneliste[i].length(); System.out.println(sumLengde); G final char tegn = 'r'; int anttegn = 0; for (int i = 0; i < navneliste.length; i++) { int indeks = navneliste[i].indexof(tegn); while (indeks >= 0) { anttegn++; indeks = navneliste[i].indexof(tegn, indeks + 1);

41 System.out.println("Antall forekomster av " + tegn + " er: " + anttegn); D Vare[] varer = new Vare[4]; varer[0] = new Vare("ost", 100, 70); varer[1] = new Vare("pølse", 101, 60); varer[2] = new Vare("banan", 102, 9.50); varer[3] = new Vare("epler", 103, 14.50); E for (int i = 0; i < varer.length; i++) { System.out.println(varer[i].finnNavn()); F double makspris = varer[0].finnpris(); int indeksdyrestevare = 0; for (int i = 1; i < varer.length; i++) { if (varer[i].finnpris() > makspris) { makspris = varer[i].finnpris(); indeksdyrestevare = i; System.out.println("Dyreste vare er " + varer[indeksdyrestevare].finnnavn() + ", og den koster kr. " + makspris + " uten moms."); G for (int i = 0; i < varer.length; i++) { double pris = varer[i].finnpris(); pris *= 1.07; varer[i].settpris(pris); for (int i = 0; i < navneliste.length; i++) { navnelistekopi[i] = new String(navneliste[i]); public static void main(string[] args) { for (int i = 0; i < args.length; i++) { System.out.println(args[i]); JavabokGUI gui = new JavabokGUI("Oppgave med tabell-liste"); gui.show(); ArrayList varer = new ArrayList();

42 int varenr = 100; String varenavn = gui.lestekst("varer", "Oppgi varenavn (avslutt med tomt varenavn): "); varenavn = varenavn.trim(); while (varenavn.length() > 0) { double pris = gui.lesdesimaltall("varer", "Oppgi pris uten moms: "); Vare envare = new Vare(varenavn, varenr, pris); varer.add(envare); varenr++; varenavn = gui.lestekst("varer", "Oppgi varenavn (avslutt med tomt varenavn): "); varenavn = varenavn.trim(); for (int i = 0; i < varer.size(); i++) { Vare envare = (Vare)varer.get(i); gui.skrivresultater(envare.finnnavn() + ", nr.: " + envare.finnvarenr() + ", pris kr.: " + envare.finnpris()); String søkenavn = gui.lestekst("varer", "Oppgi navn på vare det skal søkes etter: "); søkenavn = søkenavn.trim(); boolean funnet = false; Vare varen = null; int indeks = 0; while (indeks < varer.size() &&!funnet) { varen = (Vare)varer.get(indeks); String navn = varen.finnnavn(); if (navn.equals(søkenavn)) funnet = true; else indeks++; // obs! oppdaterer indeks bare dersom varen ikke finnes if (funnet) { gui.skrivresultater("ytterligere opplysninger om denne varen: nr.: " + varen.finnvarenr() + ", pris kr.: " + varen.finnpris()); else gui.skrivresultater("varen med navn " + søkenavn + " finnes ikke i registeret."); (WWHUDWNRGHELWHQLRSSJDYHHUXWI UWYLOYDULDEHOHQindeksLQQHKROGHLQGH NVHQWLOGHQV NWHYDUHQ9LNDQGHUIRUVNULYH if (funnet) varer.remove(indeks); Integer etheltall = new Integer(15); // oppgave a) Character forbokstav = new Character('S'); // oppgave b) int tall = etheltall.intvalue(); // oppgave c) String tekst1 = forbokstav.tostring(); // oppgave d) String tekst2 = etheltall.tostring(); // oppgave e)

43 try { String tekst = " "; int tall = Integer.parseInt(tekst); System.out.println("Tallet er " + tall); catch (NumberFormatException e) { System.out.println("Kan ikke omforme denne teksten til tall."); 0HWRGHQNDQVHVOLNXW public String tostring() { return "Maling. Navn: " + navn + ", antall strøk: " + antstrøk + ", ant. kvm/l: " + antkvmprliter + ", pris kr " + pris; 0HWRGHQNDQSU YHVXWSnI OJHQGHPnWH public static void main(string[] args) { Maling enmaling = new Maling("XXX", 120, 2, 12.5); System.out.println(enMaling); Vareregister 1 består av * Vare 2SHUDVMRQHUNQ\WWHWWLONODVVHQVareregisterNDQIRUHNVHPSHOY UH 5HJLVWUHUQ\YDUH )LQQSULVHQSnHQJLWWYDUH /DJHQRYHUVLNWRYHUDOOHYDUHQH )MHUQHQYDUHIUDUHJLVWHUHW (QGUHSULVHQSnHQYDUH 'HQ YHUVWHGHOHQDYILJXUHQIRUWHOOHUI OJHQGH (QSHUVRQERUSnHNVDNWHWWNRQWRUYHUNHQPHUHOOHUPLQGUH (WNRQWRUEHERVDYHNVDNWHQSHUVRQYHUNHQPHUHOOHUPLQGUH 'HQQHGHUVWHGHOHQDYILJXUHQIRUWHOOHU

44 (LERNHUVNUHYHWDYPLQVWHQIRUIDWWHU (QIRUIDWWHUKDUVNUHYHWPLQVWHQERN 1 har * Bok Bibliotek 1..* er skrevet av 1..* 1 * har titler av Forfatter public boolean fjernflate(string flatenavn) { for (int i = 0; i < alleflater.size(); i++) { Flate denne = (Flate) alleflater.get(i); if ((denne.finnnavn()).equals(flatenavn)) { alleflater.remove(i); return true; // RETUR, flate fjernet return false; // ingen flate med dette navnet er funnet public boolean fjernmaling(string malingnavn) { for (int malingsindeks = 0; malingsindeks < allemalinger.size(); malingsindeks++) { Maling dennemaling = (Maling) allemalinger.get(malingsindeks); if ((dennemaling.finnnavn()).equals(malingnavn)) { /* Brukes malingen? */ for (int flateindeks = 0; flateindeks < alleflater.size(); flateindeks++) { Flate denneflate = (Flate) alleflater.get(flateindeks); if (denneflate.finnmaling() == dennemaling) { return false; // RETUR. Malingen er i bruk. allemalinger.remove(malingsindeks); return true; // RETUR. Maling fjernet. return false; // RETUR. Ingen maling med dette navnet. 7HVWSURJUDPPHWNDQVHVOLNXW

45 public static void main(string[] args) { Oppussingsprosjekt prosjekt = new Oppussingsprosjekt("Oppgave"); Maling m1 = new Maling("Heimdal Ekstra", 3, 10, 100); Maling m2 = new Maling("Heimdal Super", 2, 12, 80); Flate f1 = new Flate("tak", 6, 1); Flate f2 = new Flate("vegg", 4, 3); f1.settmaling(m1); f2.settmaling(m2); prosjekt.registrernyflate(f1); prosjekt.registrernyflate(f2); prosjekt.registrernymaling(m1); prosjekt.registrernymaling(m2); if (!prosjekt.fjernflate("golv")) System.out.println("golv ikke fjernet"); if (!prosjekt.fjernmaling("hhh")) System.out.println("HHH ikke fjernet"); if (!prosjekt.fjernmaling("heimdal Super")) { System.out.println("Heimdal Super ikke fjernet"); /* skal skifte maling på "vegg" */ f2.settmaling(m1); /* Nå skal m2 kunne slettes */ if (prosjekt.fjernmaling("heimdal Super")) System.out.println("Heimdal Super er fjernet"); if (prosjekt.fjernflate("tak")) System.out.println("tak fjernet"); /* Kontrollutskrifter */ for (int i = 0; i < prosjekt.finnantflater(); i++) { Flate flate = prosjekt.finnflate(i); System.out.println("Flate med indeks: " + i + ": " + flate.finnnavn()); for (int i = 0; i < prosjekt.finnantmalinger(); i++) { Maling m = prosjekt.finnmaling(i); System.out.println("Maling med indeks: " + i + ": " + m.finnnavn()); 8WVNULIWHQVHUVOLNXW golv ikke fjernet HHH ikke fjernet Heimdal Super ikke fjernet Heimdal Super er fjernet tak fjernet Flate med indeks: 0: vegg Maling med indeks: 0: Heimdal Ekstra

46 (QGULQJHULNODVVHKRGHWWLONODVVHQVare class Vare implements Comparable { RJHQQ\PHWRGHLNODVVHQ public int compareto(java.lang.object annenvare) { Vare vare2 = (Vare)annenVare; if (varenr < vare2.varenr) return -1; else if (varenr > vare2.varenr) return 1; else return 0; 7HVWSURJUDP public static void main(string[] args) { Vare v1 = new Vare("ost", 100, 70); Vare v2 = new Vare("pølse", 101, 60); Vare v3 = new Vare("banan", 101, 9.50); /* Skal gi utskriften */ System.out.println(v1.compareTo(v2)); System.out.println(v2.compareTo(v1)); System.out.println(v2.compareTo(v2)); D String[] navnetabell = {"Æsop", "Einar", "Åsmund", "Petter", "Øyvind", "Synnøve"; E ArrayList liste1 = new ArrayList(); for (int i = 0; i < navnetabell.length; i++) { liste1.add(navnetabell[i]); F ArrayList liste2 = new ArrayList(); for (int i = 0; i < liste1.size(); i++) { liste2.add(liste1.get(i));

47 G navnetabell Synnøve Øyvind Petter Åsmund Einar Æsop liste1 liste2 'HWHULNNHHQNHOWnWHJQHGHWWHPHQYLKDUDOWVnWUHUHIHUDQVHUWLOKYHUWREMHNW )UD KHQKROGVYLV WDEHOOHQ navnetabell RJ IUD WDEHOOOLVWHQH liste1 RJ liste2 H 6RUWHULQJXWHQNROODWRU Collections.sort(liste2); uten kollator 5HVXOWDW(LQDU3HWWHU6\QQ YHcVPXQG VRS \YLQG 6RUWHULQJPHGNROODWRU Collator kollator = Collator.getInstance(); Collections.sort(liste2, kollator); 5HVXOWDW(LQDU3HWWHU6\QQ YH VRS \YLQGcVPXQG 9LVHUDWYLPnEUXNHNROODWRUIRUDWVRUWHULQJHQVNDOEOLULNWLJ I navnetabell Synnøve Øyvind Petter Åsmund Einar Æsop liste1 liste2

48 )LJXUHQYLVHUDWUHIHUDQVHQHLGHQVRUWHUWHWDEHOOOLVWHQOLVWHQnSHNHUWLOREMHN WHQHLVRUWHUWUHNNHI OJH public static void main(string[] args) { Vare[] varer = new Vare[4]; varer[0] = new Vare("ost", 110, 70); varer[1] = new Vare("pølse", 101, 60); varer[2] = new Vare("banan", 106, 9.50); varer[3] = new Vare("epler", 100, 14.50); java.util.arrays.sort(varer); for (int i = 0; i < varer.length; i++) { System.out.println(varer[i].finnVarenr() + " " + varer[i].finnnavn()); 8WVNULIWHQEOLU 100 epler 101 pølse 106 banan 110 ost import java.io.*; class Oppg11_3_1 { public static void main(string[] args) { final String navnpåinnfil = "minedata.txt"; try { FileReader leseforbtilfil = new FileReader(navnPåInnfil); BufferedReader leseren = new BufferedReader(leseforbTilFil); int antall = 0; String enlinje = leseren.readline(); while(enlinje!= null) { antall++; enlinje = leseren.readline(); leseren.close(); System.out.println("Antall linjer lest: " + antall); catch (FileNotFoundException e) { System.out.println("Fil ikke funnet ved åpning for lesing: " + navnpåinnfil); catch (IOException e) { System.out.println("IO-feil oppstått ved behandling av fil"); D'HUVRPILOHQLNNHHNVLVWHUHUNDVWHVFileNotFoundException

Løsning på småoppgaver etter hvert underkapittel

Løsning på småoppgaver etter hvert underkapittel Løsning på småoppgaver etter hvert underkapittel Kun til bruk sammen med læreboka Programmering i Java, Else Lervik og Vegard B. Havdal. Stiftelsen TISIP og Gyldendal Akademisk. Tilpasset 3.utgave av boka.

Detaljer

Løsning på småoppgaver etter hvert underkapittel, kapittel 2-12

Løsning på småoppgaver etter hvert underkapittel, kapittel 2-12 Løsning på småoppgaver etter hvert underkapittel, kapittel 2-12 Kun til bruk sammen med læreboka Programmering i Java, Else Lervik og Vegard B. Havdal. Stiftelsen TISIP og Gyldendal Akademisk. Tilpasset

Detaljer

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) Løsningsforslag

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) Løsningsforslag Universitetet i Bergen Det matematisk naturvitenskapelige fakultet Institutt for informatikk Side 1 av 8 Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) Løsningsforslag Fredag 10. desember

Detaljer

INF1000 - Uke 10. Ukesoppgaver 10 24. oktober 2012

INF1000 - Uke 10. Ukesoppgaver 10 24. oktober 2012 INF1000 - Uke 10 Ukesoppgaver 10 24. oktober 2012 Vanlige ukesoppgaver De første 4 oppgavene (Oppgave 1-4) handler om HashMap og bør absolutt gjøres før du starter på Oblig 4. Deretter er det en del repetisjonsoppgaver

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Torsdag 2. desember 2004 Tid for eksamen : 09.00 12.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler

Detaljer

Forelesning inf Java 4

Forelesning inf Java 4 Forelesning inf1000 - Java 4 Tema: Løkker Arrayer Metoder Ole Christian Lingjærde, 12. september 2012 Ole Chr. Lingjærde Institutt for informatikk, 29. august 2012 1 Repetisjon: arrayer Deklarere og opprette

Detaljer

i=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4

i=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4 Forelesning inf - Java 4 Repetisjon: arrayer Tema: Løkker Arrayer Metoder Ole Christian Lingjærde,. september Deklarere og opprette array - eksempler: int[] a = new int[]; String[] a = new String[]; I

Detaljer

TDT4100 Objektorientert programmering

TDT4100 Objektorientert programmering Eksamensoppgave i TDT4100 Objektorientert programmering Torsdag 12. august 2010, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikret av Svein Erik Bratsberg. Kontaktperson

Detaljer

TOD063 Datastrukturer og algoritmer

TOD063 Datastrukturer og algoritmer TOD063 Datastrukturer og algoritmer Øving : 3 Utlevert : Uke 7 Innleveringsfrist : 26. februar 2010 Klasse : 1 Data og 1 Informasjonsteknologi Gruppearbeid: 2-3 personer pr. gruppe. Oppgave 1 Vi skal lage

Detaljer

Eksempel: Body Mass Index (BMI)

Eksempel: Body Mass Index (BMI) Ole Chr. Lingjærde 1 Forelesning inf1000 - Java 3 Tema: Forgreninger Løkker Arrayer Ole Christian Lingjærde, 5. september 2013 1 Eksempel: Body Mass Index (BMI) Vi skal lage et program som beregner BMI

Detaljer

Eksempel: Body Mass Index (BMI) Forelesning inf1000 - Java 3. Ferdig program (første del) Ferdig program (siste del)

Eksempel: Body Mass Index (BMI) Forelesning inf1000 - Java 3. Ferdig program (første del) Ferdig program (siste del) Forelesning inf1000 - Java 3 Eksempel: Body Mass Index (BMI) Tema: Mer om forgreninger Løkker Arrayer Litt om easyio Ole Christian Lingjærde, 5. september 2012 Ole Chr. Lingjærde Institutt for informatikk,

Detaljer

INF1010 våren 2017 Onsdag 25. januar. Litt om unntak i Java

INF1010 våren 2017 Onsdag 25. januar. Litt om unntak i Java INF1010 våren 2017 Onsdag 25. januar Litt om unntak i Java Stein Gjessing Nytt tema: Feilhåndtering (IO: Innlesing/Utskrift) n En metode som kan komme til å gjøre en IO-feil på fil må enten behandle denne

Detaljer

Klassen javax.swing.joptionpane

Klassen javax.swing.joptionpane Kapittel 3 i boka Dette notatet er et tillegg til boka "Programmering i Java", 1.utgave, skrevet av Else Lervik og Vegard B. Havdal. ISBN 82-417-1132-8. Revidert mai 2002 Klassen javax.swing.joptionpane

Detaljer

Klassen javax.swing.joptionpane

Klassen javax.swing.joptionpane Klassen javax.swing.joptionpane Standardklassen JOptionPane er et alternativ til den hjemmelagede klassen JavabokGUI. API-referanser er samlet bakerst i dette notatet. Til forskjell fra JavabokGUI skal

Detaljer

INF1010 våren 2019 Onsdag 30. januar. Mer om unntak i Java (med litt repetisjon av I/O først)

INF1010 våren 2019 Onsdag 30. januar. Mer om unntak i Java (med litt repetisjon av I/O først) INF1010 våren 2019 Onsdag 30. januar Mer om unntak i Java (med litt repetisjon av I/O først) Stein Gjessing Lesing fra terminal og fil navn: mininn Bruk Scanner: Scanner mininn = new Scanner(); Type:

Detaljer

INF1000 (Uke 4) Mer om forgreninger, While-løkker

INF1000 (Uke 4) Mer om forgreninger, While-løkker INF1000 (Uke 4) Mer om forgreninger, While-løkker Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B. Kristoffersen I dag Repetisjon easyio Enkle if-setninger

Detaljer

INF1000 (Uke 5) Mer om løkker, arrayer og metoder

INF1000 (Uke 5) Mer om løkker, arrayer og metoder INF1000 (Uke 5) Mer om løkker, arrayer og metoder Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset Praktisk informasjon Når disse

Detaljer

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Repetisjon. Mer om forgrening While-løkker

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Repetisjon. Mer om forgrening While-løkker I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Repetisjon easyio Enkle if-setninger Mer om forgrening While-løkker Are Magnus

Detaljer

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Tre måter å lese fra terminal.

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Tre måter å lese fra terminal. I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Repetisjon easyio Enkle if-setninger Mer om forgrening While-løkker Are Magnus

Detaljer

Oppgave 1. INF1000 Uke 13. Oppgave 2. Oppgave 3. Er dette lovlige deklarasjoner (når de foretas inni en metode)? JA NEI

Oppgave 1. INF1000 Uke 13. Oppgave 2. Oppgave 3. Er dette lovlige deklarasjoner (når de foretas inni en metode)? JA NEI Oppgave 1 INF1000 Uke 13 Gjennomgang av prøveeksamen fra høsten 2004 Er dette lovlige deklarasjoner (når de foretas inni en metode)? JA NEI int i; int k = i; int i, j = 4; int k = j; double[] x = new double[1];

Detaljer

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER

13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER .9.22 LITT OM OPPLEGGET INF EKSTRATILBUD Stoff fra uke - 2. September 22 Siri Moe Jensen Målgruppe: De som mangler forståelse for konseptene gjennomgått så langt. Trening får du ved å jobbe med oppgaver,

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO FASIT UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Kontinuasjonseksamen i : Eksamensdag : INF1000 Grunnkurs i objektorientert programmering Fredag 7. januar Tid for eksamen :

Detaljer

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm Mer om easyio Mer om forgreninger Løkker 7. september 2004 Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo Java 4 1 Tre måter å lese fra terminal Først:

Detaljer

Leksjon 6. Objekt. Evt. importsetninger. public class Klasse { Konstruktør. Objektmetoder. Innkapsling (private): set-og get-metoder

Leksjon 6. Objekt. Evt. importsetninger. public class Klasse { Konstruktør. Objektmetoder. Innkapsling (private): set-og get-metoder 6108 Programmering i Java Leksjon 6 Objekt Del 2: 6.4 6.5 Roy M. Istad 2015 Generelt oppsett av egendefinert klasse Eks: Student Evt. importsetninger public class Klasse { Objektvariabler - instansvariabler

Detaljer

Oppgave 1. Oppgave 2. Oppgave 3. Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004

Oppgave 1. Oppgave 2. Oppgave 3. Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004 Oppgave 1 Prøveeksamen i INF1000 Ole Christian og Arne 23. november 2004 Er dette lovlige deklarasjoner (når de foretas inni en metode)? JA NEI int i; int k = i; int i, j = 4; int k = j; double[] x = new

Detaljer

INF 1010, vår 2005 Løsningsforslag uke 11

INF 1010, vår 2005 Løsningsforslag uke 11 INF 1010, vår 2005 uke 11 Anders Brunland 11. april 2005 Oppgave 1 Oppgave 1 i kapittel 19, Rett på Java Er følgende metoder lovlige? Hovorfor/hvorfor ikke? a) void koknverter ( int mnd ) { konverterdato

Detaljer

Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004

Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004 Prøveeksamen i INF1000 Ole Christian og Arne 23. november 2004 Oppgave 1 Er dette lovlige deklarasjoner (når de foretas inni en metode)? JA NEI int i; int k = i; int i, j = 4; int k = j; double[] x = new

Detaljer

Hittil har programmene kommunisert med omverden via tastatur og skjerm Ønskelig at data kan leve fra en kjøring til neste

Hittil har programmene kommunisert med omverden via tastatur og skjerm Ønskelig at data kan leve fra en kjøring til neste Datafiler og serialisering Tekstfiler Scanner klassen Binær overføring av data Direkte tilgang til filinnholdet Serialisering LC191D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_lc191d.php

Detaljer

Inf 1000 høst 2005 Løsningsforslag ordinær eksamen

Inf 1000 høst 2005 Løsningsforslag ordinær eksamen Inf 1000 høst 2005 Løsningsforslag ordinær eksamen Oppgave 1 (10 poeng) a) 11 x 3 = 33 b) 4 c) 4 d) 10 x 9 = 90 Oppgave 2 (16 poeng) Er disse programsetningene lovlige i Java? JA x NEI int i=1, j =i; x

Detaljer

Forelesning inf Java 3

Forelesning inf Java 3 Forelesning inf1000 - Java 3 Tema: Forgreninger Løkker Arrayer Ole Christian Lingjærde, 5. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 5. september 2013 1 Eksempel: Body Mass Index (BMI)

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: 11. juni 2004 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 8

Detaljer

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011)

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag til oppgave 7, 8, og 9 mangler Klasser og objekter (kap. 8.1-8.14 i "Rett på Java" 3. utg.) NB! Legg merke til at disse

Detaljer

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk Side 1 av 20 Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk Bokmål Eksamen i emnet INF100 Grunnkurs i programmering Torsdag 27. november 2014 Tid: 09:00 14:00

Detaljer

Programmering Høst 2017

Programmering Høst 2017 Programmering Høst 2017 Tommy Abelsen Ingeniørfag - Data Innledning Dette er et dokument med litt informasjon og eksempler om kontrollstrukturer, samt oppgaver til forskjellige kontrollstrukturer. Spør

Detaljer

Kapittel 9: Sortering og søking Kort versjon

Kapittel 9: Sortering og søking Kort versjon Kapittel 9: Sortering og søking Kort versjon Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen

Detaljer

Forelesning inf Java 5

Forelesning inf Java 5 Ole Chr. Lingjærde 1 Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen

Detaljer

import java.io.*; import java.util.*; import javagently.text;

import java.io.*; import java.util.*; import javagently.text; //-------------------------------------------------------- // // Fil: Oppg1.java - // løser oppgave 1 i eksamensettet for in105 - v99 // //-------------------------------------------------------- import

Detaljer

Forelesning inf Java 5

Forelesning inf Java 5 Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen til et Java-program

Detaljer

INF 1000 høsten 2011 Uke september

INF 1000 høsten 2011 Uke september INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus 1 INF1000 undervisningen Forelesningene: Første

Detaljer

Lese fra fil. INF1000 : Forelesning 5. Eksempel. De vanligste lesemetodene. Metoder:

Lese fra fil. INF1000 : Forelesning 5. Eksempel. De vanligste lesemetodene. Metoder: Lese fra fil Filbehandling Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo INF1000 : Forelesning 5 Vi må først importere pakken easyio Vi åpner

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Kontinuasjonseksamen i : Eksamensdag : INF1000 Grunnkurs i objektorientert programmering Fredag 7. januar Tid for eksamen : 09.00

Detaljer

INF1000: Forelesning 11. Oppgave 2. Oppgave 1. Husk å melde deg på prøveeksamen i INF1000! Ole Christian Lingjærde 7.november 2006

INF1000: Forelesning 11. Oppgave 2. Oppgave 1. Husk å melde deg på prøveeksamen i INF1000! Ole Christian Lingjærde 7.november 2006 Husk å melde deg på prøveeksamen i INF1000! INF1000: Forelesning 11 Ole Christian Lingjærde 7.november 2006 Frist påmelding: 16. november Arrangementet er torsdag 23. november kl 1420 og omfatter: Oppgaven

Detaljer

INF1000 undervisningen INF 1000 høsten 2011 Uke september

INF1000 undervisningen INF 1000 høsten 2011 Uke september INF1000 undervisningen INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Forelesningene: Første

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: Varighet: Emnekode: Emnenavn: Klasse(r): Studiepoeng: Faglærer(e): Kontaktperson (adm.) Hjelpemidler: Oppgavesettet

Detaljer

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I Løsningsforslag

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I Løsningsforslag Universitetet i Bergen Det matematisk naturvitenskapelige fakultet Institutt for informatikk Side 1 av 7 Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert

Detaljer

Forelesningsquiz. Forelesning inf1000 - Java 5. Sett dere to (eller tre) sammen og besvar de fire spørsmålene på utdelt ark. Tid: 15 min.

Forelesningsquiz. Forelesning inf1000 - Java 5. Sett dere to (eller tre) sammen og besvar de fire spørsmålene på utdelt ark. Tid: 15 min. Forelesning inf1000 - Java 5 Forelesningsquiz Tema: En liten quiz (se utdelt ark) Filbehandling Tekster Ole Christian Lingjærde, 19. september 2012 Sett dere to (eller tre) sammen og besvar de fire spørsmålene

Detaljer

INF1000 : Forelesning 3

INF1000 : Forelesning 3 INF1000 : Forelesning 3 Programeksempler Løkker Arrayer Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk Universitetet i Oslo 1 Body Mass Index (BMI) Vi skal lage et program

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 15. mai 2003 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LO116D Programmering i Visual Basic FU Studiepoeng:

Detaljer

LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring. Else Lervik, januar 2012.

LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring. Else Lervik, januar 2012. Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring. Else Lervik, januar 2012. Objektorientert modellering

Detaljer

6108 Programmering i Java. Leksjon 5. Tabeller. Roy M. Istad 2015

6108 Programmering i Java. Leksjon 5. Tabeller. Roy M. Istad 2015 6108 Programmering i Java Leksjon 5 Tabeller Roy M. Istad 2015 Hva er tabeller? Tabell (evt. array): Sammensetning av verdier i den samme datatypen, under ett navn i hurtigminnet. Gir rask og effektiv

Detaljer

Forkurs INF1010. Dag 3. Andreas Færøvig Olsen Gard Inge Rosvold Institutt for Informatikk, 15.

Forkurs INF1010. Dag 3. Andreas Færøvig Olsen Gard Inge Rosvold Institutt for Informatikk, 15. Forkurs INF1010 Dag 3 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Gard Inge Rosvold (gardir@ifi.uio.no) Institutt for Informatikk, 15. januar 2016 Forkurs INF1010 - dag 3 Strenger 2 Forkurs INF1010 - dag

Detaljer

Hvis en person har inntekt < , så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første og 30% på resten.

Hvis en person har inntekt < , så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første og 30% på resten. Oppgave 1: RPJ, kapittel 4, oppg. 2 INF1000 Plenumsgruppe 1, 22.09.02 Hvis en person har inntekt < 10 000, så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første 10 000 og 30% på

Detaljer

Hvis en person har inntekt < , så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første og 30% på resten.

Hvis en person har inntekt < , så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første og 30% på resten. Oppgave 1: RPJ, kapittel 4, oppg. 2 INF1000 Plenumsgruppe 1, 22.09.02 Hvis en person har inntekt < 10 000, så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første 10 000 og 30% på

Detaljer

Oblig 4Hybelhus litt mer tips enn i oppgaven

Oblig 4Hybelhus litt mer tips enn i oppgaven Oblig 4Hybelhus litt mer tips enn i oppgaven lørdag 19. okt 2013 Arne Maus Obligatorisk oppgave 4 Gulbrand Grås husleiesystem I denne oppgaven skal vi se på hans studenthus Utsyn. Utsyn består av 3 etasjer,

Detaljer

Body Mass Index (BMI) INF1000 : Forelesning 3. Ferdig program (forts.) Ferdig program

Body Mass Index (BMI) INF1000 : Forelesning 3. Ferdig program (forts.) Ferdig program Body Mass Index (BMI) Programeksempler Løkker Arrayer Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk Universitetet i Oslo INF1000 : Forelesning 3 1 Vi skal lage et program

Detaljer

INF1000 Uke 4. Innlesning fra terminal. Uttrykk og presedens. Oversikt

INF1000 Uke 4. Innlesning fra terminal. Uttrykk og presedens. Oversikt Oversikt INF1000 Uke 4 Forgreininger, løkker og arrayer Litt repetisjon Blokker og forgreininger if-setninger if-else-setninger switch-setninger Løkker while-løkker do-while-løkker for-løkker Arrayer Opprette,

Detaljer

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04 INF1000 (Uke 15) Eksamen V 04 Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset 22-05-2006 2 22-05-2006 3 22-05-2006 4 Oppgave 1a

Detaljer

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04 INF1000 (Uke 15) Eksamen V 04 Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset 22-05-2006 2 22-05-2006 3 22-05-2006 4 Oppgave 1a

Detaljer

3 emner i dag! INF1000 Uke 5. Objekter og pekere. null. Litt om objekter, pekere og null Filer og easyio Litt mer om tekster

3 emner i dag! INF1000 Uke 5. Objekter og pekere. null. Litt om objekter, pekere og null Filer og easyio Litt mer om tekster 3 emner i dag! INF1000 Uke 5 Litt om objekter, pekere og null Filer og easyio Litt mer om tekster Litt om objekter, filer med easyio, tekst 1 2 Objekter og pekere Vi lager pekere og objekter når vi bruker

Detaljer

Ole Christian Lingjærde, 12. september 2013

Ole Christian Lingjærde, 12. september 2013 Ole Chr. Lingjærde Forelesning inf000 - Java 4 Tema: En første titt på metoder Løkker og arrayer Lese fra fil og skrive til fil Ole Christian Lingjærde,. september 03 Ole Chr. Lingjærde Institutt for informatikk,.

Detaljer

Forelesning inf Java 4

Forelesning inf Java 4 Forelesning inf1000 - Java 4 Tema: En første titt på metoder Løkker og arrayer Lese fra fil og skrive til fil Ole Christian Lingjærde, 12. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 12.

Detaljer

Å lese tall fra en fil, klassen Scanner

Å lese tall fra en fil, klassen Scanner Å lese tall fra en fil, klassen Scanner 1. Et Scanner-objekt kan knyttes til et strømobjekt eller til en streng. 2. Kan skanne teksten etter data av ulike typer. 3. Kan kun skanne framover i teksten. Vis

Detaljer

Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program

Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program Oversikt INF1000 Uke 1 time 2 Variable, enkle datatyper og tilordning Litt repetisjon Datamaskinen Programmeringsspråk Kompilering og kjøring av programmer Variabler, deklarasjoner og typer Tilordning

Detaljer

INF1000 : Forelesning 4

INF1000 : Forelesning 4 INF1000 : Forelesning 4 Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk Universitetet

Detaljer

INF1000 : Forelesning 5

INF1000 : Forelesning 5 INF1000 : Forelesning 5 Filbehandling Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo 1 Lese fra fil import easyio.*; Vi må først importere pakken

Detaljer

Kapittel 8: Programutvikling

Kapittel 8: Programutvikling Kapittel 8: Programutvikling Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk

Detaljer

i=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4

i=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4 Repetisjon: nesting av løkker Kort repetisjon av doble (nestede) løkker Mer om D-arrayer Introduksjon til D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk

Detaljer

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon Kort om meg INF1000 Uke 2 Variable, enkle datatyper og tilordning Fredrik Sørensen Kontor: Rom 4311-NR, Informatikkbygget Brukernavn/e-post: fredrso@ifi.uio.no Utdanning: Dataingeniør, 2000 Cand.Scient,

Detaljer

Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder

Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder INF1000 : Forelesning 4 Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk Universitetet

Detaljer

IN Notat om I/O i Java

IN Notat om I/O i Java IN1010 - Notat om I/O i Java Mathias J.P. Stang, Tuva Kristine Thoresen, Ingrid Grønlie Guren 17. januar 2018 Dette notatet handler om I/O (input/output) i Java, og tar for seg innlesning fra terminal,

Detaljer

1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5)

1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Dagens tema Litt mer om vanlige lister Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Nyttige varianter av lister: Stabler («stacks») (Big Java 15.5.1) Køer («queues») (Big Java 15.5.2)

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 14.desember 2007 Varighet: 0900-1200 Fagnummer: Fagnavn: Klasser: LO347D Web-applikasjoner med Java EE Nettstudenter

Detaljer

1. Finn klassene (hvilke objekter er det i problemet) 1. Dataene som beskriver problemet (hvilke objekter har vi og hvor mange klasser er det?

1. Finn klassene (hvilke objekter er det i problemet) 1. Dataene som beskriver problemet (hvilke objekter har vi og hvor mange klasser er det? Obligatorisk oppgave 3 Gulbrand Grås husleiesystem Oblig 3hus litt mer tips enn i oppgaven I denne oppgaven skal vi se på hans studenthus Utsyn. Utsyn består av 3 etasjer, nummerert fra -3. I hver etasje

Detaljer

Del 1 En oversikt over C-programmering

Del 1 En oversikt over C-programmering Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av

Detaljer

Java 4. Mer om easyio Mer om forgreninger Løkker. 7. september 2004

Java 4. Mer om easyio Mer om forgreninger Løkker. 7. september 2004 Java 4 Mer om easyio Mer om forgreninger Løkker 7. september 2004 Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo 1 Tre måter å lese fra terminal Først:

Detaljer

Forelesning inf Java 5

Forelesning inf Java 5 Forelesning inf1000 - Java 5 Tema: En liten quiz (se utdelt ark) Filbehandling Tekster Ole Christian Lingjærde, 19. september 2012 Ole Chr. Lingjærde Institutt for informatikk, 19. september 2012 1 Forelesningsquiz

Detaljer

TEMA: Kommunikasjon med Bruker INF1000 Plenumsgruppe 1, 08.09.02. -formatert utskrift

TEMA: Kommunikasjon med Bruker INF1000 Plenumsgruppe 1, 08.09.02. -formatert utskrift TEMA: Kommunikasjon med Bruker INF1000 Plenumsgruppe 1, 08.09.02 - terminal-i/o (bruker-i/o) - innlesing av ulike typer data - pakken easyio - klassene In og Out In in = new In(); Out ut = new Out(); int

Detaljer

Oversikt. INF1000 Uke 6. Objekter, pekere og null. Lese og skrive fra/til fil. Litt om objekter, pekere og null Filer og easyio. Litt mer om tekster

Oversikt. INF1000 Uke 6. Objekter, pekere og null. Lese og skrive fra/til fil. Litt om objekter, pekere og null Filer og easyio. Litt mer om tekster Oversikt INF1000 Uke 6 Litt om objekter, pekere og null Filer og easyio. Litt mer om tekster Litt om objekter, filer med easyio, tekst Arne Maus 1 2 Objekter, pekere og null Vi lager pekere og objekter

Detaljer

Eksamensoppgave i IFUD1025 Programmering i Java og IINI4013 Programmering i Java

Eksamensoppgave i IFUD1025 Programmering i Java og IINI4013 Programmering i Java Fakultet for teknologi Eksamensoppgave i IFUD1025 Programmering i Java og IINI4013 Programmering i Java Faglig kontakt under eksamen: Vuokko-Helena Caseiro Tlf.: +39 06 51 26 063 Eksamensdato: 30. november

Detaljer

Oppgave 1 - Kortsvarsoppgave. INF1000 eksamen V05. Oppgave 1 (c) Oppgave 1 (b) Svar: a = 9, b=10

Oppgave 1 - Kortsvarsoppgave. INF1000 eksamen V05. Oppgave 1 (c) Oppgave 1 (b) Svar: a = 9, b=10 Oppgave 1 - Kortsvarsoppgave (a) INF1000 eksamen V05 class SkrivHei { public static void main (String[] args) { for (int i = 0; i < 5; i++) { for (int j = 0; j < 2; j ++) { i = i + 4; System.out.println("hei");

Detaljer

Hva er tabeller? Tabell (array): Sammensetning av verdier av samme datatype, under ett navn i hurtigminnet.

Hva er tabeller? Tabell (array): Sammensetning av verdier av samme datatype, under ett navn i hurtigminnet. Leksjon5 Tabeller Hva er tabeller? Tabell (array): Sammensetning av verdier av samme datatype, under ett navn i hurtigminnet. Gir rask og effektiv håndtering av data. Verdiene i en tabell adresseres ved

Detaljer

Litt mer om uttrykk: ++ og -- INF1000 : Forelesning 4. Oppgave. Blokker. 0 udefinert udefinert. Alternativ 2 Postfiks-operator

Litt mer om uttrykk: ++ og -- INF1000 : Forelesning 4. Oppgave. Blokker. 0 udefinert udefinert. Alternativ 2 Postfiks-operator Litt mer om uttrykk: ++ og -- INF : Forelesning Løkker og arrayer Mye og viktig stoff. Du MÅ løse oppgaver selv for å lære!. september 6 Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for

Detaljer

Endret litt som ukeoppgave i INF1010 våren 2004

Endret litt som ukeoppgave i INF1010 våren 2004 Endret litt som ukeoppgave i INF1010 våren 2004!!!" # # $# ##!!%# # &##!'! Kontroller at oppgavesettet er komplett før du begynner å besvare det. Les gjerne gjennom hele oppgavesettet før du begynner med

Detaljer

INF1000 oppgaver til uke 38 (17 sep 23 sep)

INF1000 oppgaver til uke 38 (17 sep 23 sep) INF1000 oppgaver til uke 38 (17 sep 23 sep) Formål: Øve på programmering med forgreninger, løkker og arrayer. Teoritimer (plenumsøvinger): 1. Oppgave 4 og 6 i kapittel 4 i læreboka. 2. En blokk er en samling

Detaljer

Videregående programmering 6

Videregående programmering 6 Videregående programmering 6 1. Feilkontroll i klasser uten unntaksobjekter Klasser skal lages sikre. Argumentverdier skal kontrolleres, og eventuelle feil skal rapporteres til klienten. I praksis har

Detaljer

1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5)

1- og 2-veis Innkapsling Java Stabel Kø Prio-kø Iterator. Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Dagens tema Litt mer om vanlige lister Enveis- og toveislister Innkapsling («boxing») (Big Java 6.8.5) Nyttige varianter av lister: Stabler («stacks») (Big Java 15.5.1) Køer («queues») (Big Java 15.5.2)

Detaljer

Innlesning fra tastatur med easyio. INF1000 høst 2010. Vi må først skrive i toppen av programmet: import easyio.*;

Innlesning fra tastatur med easyio. INF1000 høst 2010. Vi må først skrive i toppen av programmet: import easyio.*; Innlesning fra tastatur med easyio INF1000 høst 2010 Forelesning 2: Innlesning fra terminal Boolean-variable if-setninger Løkker Litt mer om heltall: divisjon og modulo Vi må først skrive i toppen av programmet:

Detaljer

INF1000 - Løsning på seminaropppgaver til uke 8

INF1000 - Løsning på seminaropppgaver til uke 8 INF1000 - Løsning på seminaropppgaver til uke 8 Oppgave 1 a) for(string nokkel : studenter.keyset){ System.out.println(nokkel); Studenten sitt navn blir skrevet ut. b) for(student dennestudenten : studenter.values()){

Detaljer

Praktisk informasjon. I dag. Repetisjon: While-løkker. INF1000 (Uke 5) Mer om løkker, arrayer og metoder

Praktisk informasjon. I dag. Repetisjon: While-løkker. INF1000 (Uke 5) Mer om løkker, arrayer og metoder Praktisk informasjon INF (Uke 5) Mer om løkker, arrayer og metoder Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Når disse timene er over har du lært nok til å løse oblig Frist.

Detaljer

De neste ukene. INF1000 Uke 12. Prøveeksamen. Nå - Prøveeksamen. Forelesning om IT og samfunn neste uke (13/11).

De neste ukene. INF1000 Uke 12. Prøveeksamen. Nå - Prøveeksamen. Forelesning om IT og samfunn neste uke (13/11). De neste ukene Forelesning om IT og samfunn neste uke (13/11). INF1000 Uke 12 Gjennomgang av prøveeksamen fra høsten 2004 Ukeoppgave: Blir en gammel eksamensoppgave Uken etter er det prøveeksamen. Den

Detaljer

INF1010 våren 2018 tirsdag 23. januar

INF1010 våren 2018 tirsdag 23. januar INF1010 våren 2018 tirsdag 23. januar I/O og litt om bruk av unntak i Java Stein Gjessing Lesing fra terminal og fil navn: mininn Bruk Scanner: Scanner mininn = new Scanner(); Type: Scanner boolean

Detaljer

Enkel lesing og skriving i Java

Enkel lesing og skriving i Java Enkel lesing og skriving i Java Dag Langmyhr dag@ifi.uio.no 11. januar 2019 Innhold 1 Skriving 1 1.1 Skriving til fil...................................... 3 2 Lesing 4 2.1 Lesing fra fil.......................................

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Fredag 4. desember 2015 Tid for eksamen: 14.30 (4 timer)

Detaljer

Kapittel 8: Sortering og søking INF100

Kapittel 8: Sortering og søking INF100 Forelesningsnotater for: Kapittel 8: Sortering og søking INF100 Java som første programmeringsspråk Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk, 2003. ISBN 82-02-23274-0 http://www.ii.uib.no/~khalid/jfps/

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: 10. juni 2005 Tid for eksamen: 14.30 17.30 Oppgavesettet er på

Detaljer

INF 1000 (uke 2) Variabler, tilordninger og uttrykk

INF 1000 (uke 2) Variabler, tilordninger og uttrykk INF 1000 (uke 2) Variabler, tilordninger og uttrykk Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset I dag skal vi se på Flere praktiske

Detaljer

Løsningsforslag til eksamen i INF1000 våren 2006

Løsningsforslag til eksamen i INF1000 våren 2006 Løsningsforslag til eksamen i INF1000 våren 2006 Oppgave 1 a) -1 false 7 b) 30 c) Verdien til j er: 4Verdien til k er: 3Verdien til n er: 7 d) Andre if-test er true Tredje if-test er true e) k = 4 k =

Detaljer

for (int i=0; i<3; i++) { for (int j=0; j<5; j++) { System.out.print(i*j); System.out.println();

for (int i=0; i<3; i++) { for (int j=0; j<5; j++) { System.out.print(i*j); System.out.println(); Repetisjon: nesting av løkker Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk

Detaljer

I dag. Rep: Oppsummering - variabler. Rep: Datatyper. INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger

I dag. Rep: Oppsummering - variabler. Rep: Datatyper. INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger I dag INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Litt repetisjon Mer om uttrykk Lesing og skriving til terminal Forgreninger

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Side 1 UNIVERSITETET I OSLO Kandidatnr Det matematisk-naturvitenskapelige fakultet Eksamen i: PRØVEEKSAMEN INF1000 Eksamensdag: Prøveeksamen 22.11.2011 Tid for eksamen: 12:15-16:15 Oppgavesettet er på

Detaljer