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

Like dokumenter
Forkurs INF1010. Dag 3. Andreas Færøvig Olsen Eivind Storm Aarnæs

Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

Repetisjon. INF gruppe 13

INF Løsning på seminaropppgaver til uke 8

INF Uke 10. Ukesoppgaver oktober 2012

UNIVERSITETET I OSLO

Forkurs INF1010. Dag 2. Andreas Færøvig Olsen Tuva Kristine Thoresen

INF1010 våren 2018 tirsdag 23. januar

IN Notat om I/O i Java

Læringsmål for forelesningen

Løsningsforslag til eksamen i INF1000 våren 2006

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

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

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

INF Uke 10. Løsningsforslag ukesoppgaver oktober 2012

IN1010 våren januar. Objektorientering i Java

UNIVERSITETET I OSLO

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

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

Innhold. INF1000 Høst Unified Modeling Language (UML) Unified Modeling Language (UML)

UNIVERSITETET I OSLO

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

UNIVERSITETET I OSLO

Array&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister

INF1000 Prøveeksamen Oppgave 7 og 9

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

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

UNIVERSITETET I OSLO

TOD063 Datastrukturer og algoritmer

INF Notat om I/O i Java

INF1000 Forelesning 9. Hashmap Eksempel: Flyreservasjon

HashMap. INF1000 Forelesning 9. Ulike versjoner i Java 1.4 (gammel) og Java 1.5/1.6 av HashMap. Objekter lagres med en søkenøkkel

Forelesning inf Java 5

UNIVERSITETET I OSLO

Læreboken på 45 minutter

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

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

Bruk av class Scanner, FileWriter og Formatter som alternativ til EasyIO i INF1000.

INF1010, 21. februar Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

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

Eksamen INF1010 V2009 Del B prøveeksamen V2010 Vekt 60 %

UNIVERSITETET I OSLO

INF1000-SIKT - Notat om I/O i Java

INF1000 : Forelesning 5

Løsningsforslag ukeoppg. 9: okt (INF Høst 2011)

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

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

Mer objektorientert programmering

Jentetreff INF1000 Debugging i Java

Post-it spørsmål fra timen (Arv og subklasser)

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

Klasser og objekter. Tuva Kristine Thoresen 22. oktober Institutt for Informatikk

Ole Christian Lingjærde, 12. september 2013

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

Forelesning inf Java 4

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

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

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen

Array&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister Videre

IN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.

UNIVERSITETET I OSLO

INF1010. Stein Michael Storleer (michael) Lenkelister

INF1010, 23. februar Parametriserte klasser Om å gå gjennom egne beholdere (subklasser og grensesnitt 3)

Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1

INF1010 våren Generalisering -spesialisering Gjenbruk av klasser. Ved arv. Klasse-hierarkier. Stein Gjessing.

INF1010 våren Arv og subklasser - del 2

Innhold. INF1000 Høst Klasser og objekter. Uke 7: Mer objektorientert programmering Siri Moe Jensen

String-manipulasjon og I/O i Java. INF1000 h14 - Hans Petter Taugbøl Kragset

Løse reelle problemer

IN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr

UNIVERSITETET I OSLO

EKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL

UNIVERSITETET I OSLO

Forelesning inf Java 5

Fra Python til Java. En introduksjon til programmeringsspråkenes verden. Dag Langmyhr

UNIVERSITETET I OSLO

Forelesning inf Java 5

UNIVERSITETET I OSLO

Ta inn og ut av 2D-array. Java 6. Liste over ulike verdier i 2D-array. Det ferdige programmet. Vi skal lage et program som illustrerer hvordan man

Enkel lesing og skriving i Java

JAVA Oppsummering for IS-102. Even Åby Larsen

UNIVERSITETET I OSLO

LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke September 2012 Siri Moe Jensen EKSEMPLER

Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2

Mål for INF1000. Repetisjon INF 1000 våren Representasjon av data. Programvareutvikling - oversikt

AlgDat - Øvingsforelesning 1 Introduksjon til Python, lenkede lister og øving 1

Løsningsforslag, inf101, våren 2001

UNIVERSITETET I OSLO

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs

Programmering Høst 2017

INF2100. Oppgaver 23. og 24. september 2010

Repetisjon INF 1000 våren 2006

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

Bruk av class Scanner, split(), FileWriter og Formatter som alternativ til easyio i INF1000.

Transkript:

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 3 Strenger Fil-I/O 2

Forkurs INF1010 - dag 3 Strenger Fil-I/O Unntakshåndtering 2

Forkurs INF1010 - dag 3 Strenger Fil-I/O Unntakshåndtering ArrayList 2

Forkurs INF1010 - dag 3 Strenger Fil-I/O Unntakshåndtering ArrayList HashMap 2

Forkurs INF1010 - dag 3 Strenger Fil-I/O Unntakshåndtering ArrayList HashMap Spørreundersøkelse 2

Forkurs INF1010 - dag 3 Strenger Fil-I/O Unntakshåndtering ArrayList HashMap Spørreundersøkelse Oppsummering 2

3

Innhold Strenger Fil-I/O Unntakshåndtering ArrayList HashMap Spørreundersøkelse Oppsummering 4

Strenger 5

Strenger Typer som int og double kalles primitive typer. 5

Strenger Typer som int og double kalles primitive typer. String blir representert som et objekt. 5

Strenger Typer som int og double kalles primitive typer. String blir representert som et objekt. Følgende kommandoer gir samme resultat: String s1 = "Dette er en String"; String s2 = new String("Dette er en String"); 5

Strenger Typer som int og double kalles primitive typer. String blir representert som et objekt. Følgende kommandoer gir samme resultat: String s1 = "Dette er en String"; String s2 = new String("Dette er en String"); s1 == s2 false 5

Strenger Typer som int og double kalles primitive typer. String blir representert som et objekt. Følgende kommandoer gir samme resultat: String s1 = "Dette er en String"; String s2 = new String("Dette er en String"); s1 == s2 false == sjekker om s1 og s2 er samme objekt, ikke om de har samme innhold. 5

Nyttige String-metoder 6

Nyttige String-metoder Vi definerer String a; String b; med verdier Da kan vi bruke metodene 6

Nyttige String-metoder Vi definerer String a; String b; med verdier Da kan vi bruke metodene a.equals(b) (sjekker om a og b har samme innhold/verdi) 6

Nyttige String-metoder Vi definerer String a; String b; med verdier Da kan vi bruke metodene a.equals(b) (sjekker om a og b har samme innhold/verdi) a.length() (finner antall tegn i a) 6

Nyttige String-metoder Vi definerer String a; String b; med verdier Da kan vi bruke metodene a.equals(b) (sjekker om a og b har samme innhold/verdi) a.length() (finner antall tegn i a) a.charat(i) (finner bokstaven på plass nr. i) 6

Nyttige String-metoder Vi definerer String a; String b; med verdier Da kan vi bruke metodene a.equals(b) (sjekker om a og b har samme innhold/verdi) a.length() (finner antall tegn i a) a.charat(i) (finner bokstaven på plass nr. i) a.substring(i,j) (henter f.o.m tegn nr. i t.o.m. nr. j-1) 6

Nyttige String-metoder Vi definerer String a; String b; med verdier Da kan vi bruke metodene a.equals(b) (sjekker om a og b har samme innhold/verdi) a.length() (finner antall tegn i a) a.charat(i) (finner bokstaven på plass nr. i) a.substring(i,j) (henter f.o.m tegn nr. i t.o.m. nr. j-1) a.compareto(b) (kommer a før b i alfabetet?) 6

Nyttige String-metoder Vi definerer String a; String b; med verdier Da kan vi bruke metodene a.equals(b) (sjekker om a og b har samme innhold/verdi) a.length() (finner antall tegn i a) a.charat(i) (finner bokstaven på plass nr. i) a.substring(i,j) (henter f.o.m tegn nr. i t.o.m. nr. j-1) a.compareto(b) (kommer a før b i alfabetet?) a.tochararray() (returnerer strengen som en char[]) 6

Nyttige String-metoder Vi definerer String a; String b; med verdier Da kan vi bruke metodene a.equals(b) (sjekker om a og b har samme innhold/verdi) a.length() (finner antall tegn i a) a.charat(i) (finner bokstaven på plass nr. i) a.substring(i,j) (henter f.o.m tegn nr. i t.o.m. nr. j-1) a.compareto(b) (kommer a før b i alfabetet?) a.tochararray() (returnerer strengen som en char[])... og mange flere. Sjekk doc 6

Bruk av String Verdi 7

Bruk av String Verdi string som verdi 7

Bruk av String Verdi string som verdi Variabel 7

Bruk av String Verdi string som verdi Variabel String a = linje ; System.out.printf( %s\n, a); 7

Bruk av String Verdi string som verdi Variabel String a = linje ; System.out.printf( %s\n, a); Klasse 7

Bruk av String Verdi string som verdi Variabel String a = linje ; System.out.printf( %s\n, a); Klasse return String.format( Tallet er %d, 42) 7

Bruk av String Verdi string som verdi Variabel String a = linje ; System.out.printf( %s\n, a); Klasse return String.format( Tallet er %d, 42) Variabel og Klasse 7

Bruk av String Verdi string som verdi Variabel String a = linje ; System.out.printf( %s\n, a); Klasse return String.format( Tallet er %d, 42) Variabel og Klasse String a = sant ; String b = usant ; if (a.equals(b)) { 7

Bruk av String Verdi string som verdi Variabel String a = linje ; System.out.printf( %s\n, a); Klasse return String.format( Tallet er %d, 42) Variabel og Klasse String a = sant ; String b = usant ; if (a.equals(b)) { Eksempel på alle på en gang. 7

Bruk av String Verdi string som verdi Variabel String a = linje ; System.out.printf( %s\n, a); Klasse return String.format( Tallet er %d, 42) Variabel og Klasse String a = sant ; String b = usant ; if (a.equals(b)) { Eksempel på alle på en gang. String a = sant ; if ("ikke sant".equals(a)) { 7

Oppgave 8

Oppgave Gitt en String, lag kode som teller antall forekomster av bokstaven r i denne Stringen. 8

Oppgave Gitt en String, lag kode som teller antall forekomster av bokstaven r i denne Stringen. 8

Mer om String Repetisjonskurs om String og Input/Output fra INF1000 i høst: https://slides.com/gardir 9

Innhold Strenger Fil-I/O Unntakshåndtering ArrayList HashMap Spørreundersøkelse Oppsummering 10

Lese linjevis fra fil 11

Lese linjevis fra fil 1 import java.io.*; 2 try { 3 Scanner s = new Scanner(new File("testfil.txt")); 4 while (s.hasnextline()) { 5 String linje = s.nextline(); 6 System.out.println(linje); 7 } 8 s.close(); 9 } catch (IOException e) { 10 System.out.println("Filen finnes ikke"); 11 } 11

Lese linjevis fra fil doc 1 import java.io.*; 2 try { 3 Scanner s = new Scanner(new File("testfil.txt")); 4 while (s.hasnextline()) { 5 String linje = s.nextline(); 6 System.out.println(linje); 7 } 8 s.close(); 9 } catch (IOException e) { 10 System.out.println("Filen finnes ikke"); 11 } 11

Skrive linjevis til fil 12

Skrive linjevis til fil 1 import java.io.*; 2 try { 3 PrintWriter outfile = new PrintWriter( 4 new File("utfil.txt")); 5 for (int i = 0; i < 20; i++) { 6 String tekst = String.format("%04d\n", i); 7 outfile.print(tekst); 8 } 9 outfile.close(); 10 } catch (IOException e) { 11 System.out.println("Kan ikke skrive til fil"); 12 } 12

Skrive linjevis til fil doc 1 import java.io.*; 2 try { 3 PrintWriter outfile = new PrintWriter( 4 new File("utfil.txt")); 5 for (int i = 0; i < 20; i++) { 6 String tekst = String.format("%04d\n", i); 7 outfile.print(tekst); 8 } 9 outfile.close(); 10 } catch (IOException e) { 11 System.out.println("Kan ikke skrive til fil"); 12 } 12

Innhold Strenger Fil-I/O Unntakshåndtering ArrayList HashMap Spørreundersøkelse Oppsummering 13

Kompileringsfeil vs kjøretidsfeil Kompileringsfeilene blir fanget av kompilatoren, og vi kan fikse dem før programmet kjører. Her finner vi syntaksfeil (manglende klammeparenteser osv.) og generelt ulovlig kode. Kjøretidsfeil dukker opp når programmet kjøres, og disse kan (og noen ganger må) håndteres på en eller annen måte. Eksempel på dette er feil ved innlesing fra fil. 14

Try/catch 15

Try/catch 1 try { 2... 3 } catch (...Exception e) { 4... 5 } 15

Try/catch 1 try { 2... 3 } catch (...Exception e) { 4... 5 } 15

Innhold Strenger Fil-I/O Unntakshåndtering ArrayList HashMap Spørreundersøkelse Oppsummering 16

ArrayList Liste som ligner på array, men har ingen fast størrelse. 17

ArrayList Liste som ligner på array, men har ingen fast størrelse. Kan bare lagre objekttyper. 17

ArrayList Liste som ligner på array, men har ingen fast størrelse. Kan bare lagre objekttyper. Importeres fra java.util. 17

ArrayList Liste som ligner på array, men har ingen fast størrelse. Kan bare lagre objekttyper. Importeres fra java.util. 1 ArrayList<String> liste = new ArrayList<String>(); 2 liste.add("gard"); 3 liste.add(0, "Andreas"); 17

ArrayList Liste som ligner på array, men har ingen fast størrelse. Kan bare lagre objekttyper. Importeres fra java.util. 1 ArrayList<String> liste = new ArrayList<String>(); 2 liste.add("gard"); 3 liste.add(0, "Andreas"); Med heltall: 1 ArrayList<Integer> tall = new ArrayList<Integer>(); 17

Metoder ArrayList<E> liste = new ArrayList<E>(); boolean add(e e) 18

Metoder ArrayList<E> liste = new ArrayList<E>(); boolean add(e e) void add(int index, E element) 18

Metoder ArrayList<E> liste = new ArrayList<E>(); boolean add(e e) void add(int index, E element) boolean contains(object o) 18

Metoder ArrayList<E> liste = new ArrayList<E>(); boolean add(e e) void add(int index, E element) boolean contains(object o) E get(int index) 18

Metoder ArrayList<E> liste = new ArrayList<E>(); boolean add(e e) void add(int index, E element) boolean contains(object o) E get(int index) E remove(int index) 18

Metoder ArrayList<E> liste = new ArrayList<E>(); boolean add(e e) void add(int index, E element) boolean contains(object o) E get(int index) E remove(int index) int size() 18

Metoder ArrayList<E> liste = new ArrayList<E>(); boolean add(e e) void add(int index, E element) boolean contains(object o) E get(int index) E remove(int index) int size() Doc 18

Iterasjon 1 ArrayList<String> liste = new ArrayList<String>(); 2 for (String s: liste) { 3 System.out.println(s); 4 } 19

20

Innhold Strenger Fil-I/O Unntakshåndtering ArrayList HashMap Spørreundersøkelse Oppsummering 21

HashMap Liste som lagrer (nøkkel,objekt)-par. 22

HashMap Liste som lagrer (nøkkel,objekt)-par. Elementene ligger ikke i en bestemt rekkefølge, mer som i en stor sekk. 22

HashMap Liste som lagrer (nøkkel,objekt)-par. Elementene ligger ikke i en bestemt rekkefølge, mer som i en stor sekk. Vi finner igjen objektene vha. objektets nøkkel. 22

HashMap Liste som lagrer (nøkkel,objekt)-par. Elementene ligger ikke i en bestemt rekkefølge, mer som i en stor sekk. Vi finner igjen objektene vha. objektets nøkkel. 1 HashMap<String, Person> personer = new HashMap<String, Person>(); 2 3 personer.put("gard", new Person("Gard")); 4 Person gard = personer.get("gard"); 22

HashMap Liste som lagrer (nøkkel,objekt)-par. Elementene ligger ikke i en bestemt rekkefølge, mer som i en stor sekk. Vi finner igjen objektene vha. objektets nøkkel. 1 HashMap<String, Person> personer = new HashMap<String, Person>(); 2 3 personer.put("gard", new Person("Gard")); 4 Person gard = personer.get("gard"); 22

Metoder HashMap<K,V> hm = new HashMap<K,V>(); V put(k key, V value) 23

Metoder HashMap<K,V> hm = new HashMap<K,V>(); V put(k key, V value) V get(object key) 23

Metoder HashMap<K,V> hm = new HashMap<K,V>(); V put(k key, V value) V get(object key) V remove(object key) 23

Metoder HashMap<K,V> hm = new HashMap<K,V>(); V put(k key, V value) V get(object key) V remove(object key) boolean containskey(object key) 23

Metoder HashMap<K,V> hm = new HashMap<K,V>(); V put(k key, V value) V get(object key) V remove(object key) boolean containskey(object key) V containsvalue(object value) 23

Metoder HashMap<K,V> hm = new HashMap<K,V>(); V put(k key, V value) V get(object key) V remove(object key) boolean containskey(object key) V containsvalue(object value) int size() Doc 23

Iterasjon 1 HashMap<String, Person> personer = new HashMap<String, Person>(); Iterasjon over verdiene: 1 for (Person p: personer.values()) { 2 System.out.println(p.getNavn()); 3 } 24

Iterasjon 1 HashMap<String, Person> personer = new HashMap<String, Person>(); Iterasjon over verdiene: 1 for (Person p: personer.values()) { 2 System.out.println(p.getNavn()); 3 } Iterasjon over nøklene: 1 for (String navn: personer.keyset()) { 2 System.out.println(navn); 3 } 24

ArrayList vs. HashMap Ordning ArrayList: Elementene ligger i en gitt rekkefølge. HashMap: Elementene har ingen ordning. 25

ArrayList vs. HashMap Ordning ArrayList: Elementene ligger i en gitt rekkefølge. HashMap: Elementene har ingen ordning. 25

ArrayList vs. HashMap Ordning ArrayList: Elementene ligger i en gitt rekkefølge. HashMap: Elementene har ingen ordning. Søking ArrayList: Må lete gjennom hele lista. HashMap: Kan hente ut objektet direkte vha. nøkkelen. 25

ArrayList vs. HashMap Ordning ArrayList: Elementene ligger i en gitt rekkefølge. HashMap: Elementene har ingen ordning. Søking ArrayList: Må lete gjennom hele lista. HashMap: Kan hente ut objektet direkte vha. nøkkelen. 25

26

Innhold Strenger Fil-I/O Unntakshåndtering ArrayList HashMap Spørreundersøkelse Oppsummering 27

Ros og ris 28

Innhold Strenger Fil-I/O Unntakshåndtering ArrayList HashMap Spørreundersøkelse Oppsummering 29

Spørsmål 30

Spørsmål 1 Hvilke av disse uttrykkene er lovlige i Java? String string = String string ; int[] binarynumber = 0100110001; Hashmap<int,String> h = new Hashmap<int,String>(); boolean b = (true == false); 31

Spørsmål 1 Hvilke av disse uttrykkene er lovlige i Java? String string = String string ; int[] binarynumber = 0100110001; Hashmap<int,String> h = new Hashmap<int,String>(); boolean b = (true == false); 31

Spørsmål 2 Hvilken verdi har int-variabelen tall etter løkken under? 1 int tall = 0; 2 while (tall < 10) { 3 for (int i = 10; i > 0; i--) { 4 tall = tall + 2; 5 } 6 } 32

Spørsmål 2 Hvilken verdi har int-variabelen tall etter løkken under? 1 int tall = 0; 2 while (tall < 10) { 3 for (int i = 10; i > 0; i--) { 4 tall = tall + 2; 5 } 6 } 20 32

Spørsmål 3 Anta at følgende variable er deklarert: 1 String a = "kurator"; 2 String b = "kur"; 3 String c = "ator"; Hvilke av følgende bolske uttrykk blir true? a == (b+c) a.equals(b+c) a.compareto(b) < 0 a.indexof(c) == 4 33

Spørsmål 3 Anta at følgende variable er deklarert: 1 String a = "kurator"; 2 String b = "kur"; 3 String c = "ator"; Hvilke av følgende bolske uttrykk blir true? a == (b+c) a.equals(b+c) a.compareto(b) < 0 a.indexof(c) == 4 33

Oppgave 4 Skriv en metode int storst(int[] array) som finner den største verdien i arrayen array. 34

Oppgave 4 Skriv en metode int storst(int[] array) som finner den største verdien i arrayen array. 1 public int storst(int[] array) { 2 int maks = array[0]; 3 for (int i = 1; i < array.length; i++) { 4 if (array[i] > maks) { 5 maks = array[i]; 6 } 7 } 8 9 return maks; 10 } 34

Lykke til i INF1010! :) 35