! " ##$ % 4 2, &/ ( & +, )-. &* &/ ),* 0, 1 1 ( &/ 2& &, & &/ &,, &/" 2 &/ 2 ) *

Like dokumenter
( & ( &/ 2& , )-. &* &/ ),* 0, &/ 2 ) *

INF1000 (Uke 12) Sortering

(! )! #!! *#+,$&!! &#$

3 #$ *#+,$&!! &#$ (! )! #! 6 &#)%#. / 5$ #%#.67 / "## #&! %# # & #!!& %&$ # $!!!!# $#

INF Forelesning oppsummering forts. Et meget enkelt banksystem. Oppsummering om klasser, objekter, pekere og.

Hva er en metode. Hva skjer når vi kaller en metode

Uke 7 Mer om Objekter, klasser og pekere; 27. Sept og 4. okt. 2011, Arne Maus Inst. for informatikk, UiO

Et meget enkelt banksystem

Uke 7 Mer om Objekter, klasser og pekere; UML. 10. okt. 2013, Arne Maus Inst. for informatikk, UiO

Uke 7 Mer om Objekter, klasser og pekere;

Uke 7 Mer om Objekter, klasser og pekere;

Uke 8 - Oppramstyper, HashMap og Innstikksortering, litt javadoc. 17. oktober 2013, Arne Maus Inst. for informatikk, UiO

Oppramstyper, HashMap og Innstikksortering, litt. 6. oktober 2009, Arne Maus Inst. for informatikk, UiO

INF Uke 10. Løsningsforslag ukesoppgaver oktober 2012

Null, && og søppeltømmeren. INF Forelesning 9: Mer om objekter og klasser, tips til oblig 3. Eksempel Student med én konstruktør

Stringer er ordentlige objekter. Uke 8 - Mer om objekter og klasser. Tips Oblig3. Eksempel Student med en konstruktør

INF Forelesning 10. Eksempler på Hashmap Oppramstyper Innstikksortering Javadoc

INF1000 (Uke 11) Programmering

Hva skal vi lære i dag? Inf1000 (Uke 9) UML og enda mer om klasser. Hvilke lesemetoder finnes? Filbehandling. Repetisjon om filbehandling UML

Objekter. Uke 7 og 9 - Objekter, klasser og pekere. Verden består av mange objekter, noen ganske like, noen ulike. Klasser og objekter i verden

Inf1000 (Uke 8) Mer om objekter og filbehandling

Dagens plan. Inf1000 (Uke 8) Mer om objekter og filbehandling. Hva er en metode. Mer om metoder/klasser/objekter. Tilslutt noen råd til oblig 3

Dagens plan. Inf1000 (Uke 8) Mer om objekter og filbehandling. Hva er en metode. Mer om metoder/klasser/objekter. Tilslutt noen råd til oblig 3

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

Inf1000 (Uke 9) UML og enda mer om klasser

Hva skal vi lære i dag? Inf1000 (Uke 9) UML og enda mer om klasser. Hvilke lesemetoder finnes? Filbehandling

Uke 6 og 7 - Objekter, klasser og pekere; 23. og 30. sept. 2008, Arne Maus Inst. for informatikk, UiO

Uke 6 og 7 - Objekter, klasser og pekere; 22. og 29. sept. 2009, Arne Maus Inst. for informatikk, UiO

Uke 6 og 7 - Objekter, klasser og pekere; Verden består av mange objekter, noen ganske like, noen ulike

INF1000: Forelesning 7. Konstruktører Static

Oblig 3 to versjoner. INF Forelesning 8: Objekter, klasser og pekere. Verden består av mange objekter: noen ganske like, andre ulike

Uke 7 - Objekter, klasser og pekere (+ litt først om args[])

Uke 9 INF okt 2012 Om separatorer I easyio, Eliza (bruk av HashMap), + mer om metoder og klasser. Arne Maus OMS, Ifi, UiO

Objekter. Uke 6 - Objekter, klasser og pekere. Verden består av mange objekter, noen ganske like, noen ulike. Klasser og objekter i verden

INF1010 Sortering. Marit Nybakken 1. mars 2004

INF1010, 15. januar time. Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

Gjennomgang prøveeksamen oppgave 1, 2, 4, 5, 7

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

INF1010, 21. januar Klasser med parametre = Parametriserte klasser = Generiske klasser

Innhold. INF1000 (Uke 11) Programmering. Rep: Metoder. Rep: Hva er en metode? Litt repetisjon. To måter å programmere på

UNIVERSITETET I OSLO

INF1000: Forelesning 7

Inf1000 (Uke 7) Objekter, klasser og pekere

UNIVERSITETET I OSLO

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

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

INF1010 våren januar. Objektorientering i Java

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

Lenkelister. Lister og køer. Kopi av utvalgte sider fra forelesningen.

UNIVERSITETET I OSLO

IN1010 våren januar. Objektorientering i Java

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

INF1000 (Uke 14) Resten av eksamen H03 + del av V05

Objekter. Uke 8 - Objekter, klasser og pekere. Verden består av mange objekter, noen ganske like, noen ulike. Klasser og objekter i verden

OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK

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

INF1000: Forelesning 6. Klasser og objekter del 1

UNIVERSITETET I OSLO

En implementasjon av binærtre. Dagens tema. Klassestruktur hovedstruktur abstract class BTnode {}

Løsningsforslag INF desember 2007

Generelt om oblig 3. Oppgaveteksten kort sammendrag. Deloppgaver/menyvalg 15/03/2010. INF1000 Forelesning 9

1. Separatorer (skilletegn) i easyio

Løsningsforslag til eksamen i INF1000 våren 2006

Gjennomgang av eksamen H99

INF1010 våren Arv, subklasser og grensesnitt - del 2

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

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

Konstruktører. Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver. skjer følgende:

Forelesning inf Java 4

Eksamen høsten 2003 Den store bøygen i INF1000 er de obligatoriske oppgavene.

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

IN1010 våren 2018 Tirsdag 15. mai. Repetisjon av subklasser og tråder. Stein Gjessing Institutt for informatikk Universitetet i Oslo

Inf1000 (Uke 9) UML og enda mer om klasser

UNIVERSITETET I OSLO

INF1010 våren Grensesnitt

PRØVEEKSAMEN (rettet versjon 27/11)

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

Kapittel 9: Sortering og søking Kort versjon

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

Repetisjon. INF gruppe 13

Forelesning inf Java 5

INF Uke 10. Ukesoppgaver oktober 2012

Forelesning inf Java 5

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

Kapittel 8: Sortering og søking

UNIVERSITETET I OSLO

Seminaroppgaver IN1010, uke 2

Kapittel 9: Sortering og søking Kort versjon

UNIVERSITETET I OSLO

Kapittel 9: Sortering og søking Kort versjon

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

UNIVERSITETET I OSLO

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

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

Eksamensrelevant repetisjonsstoff. Deklarasjoner og variabeltyper. Konstanter

INF1000 : Forelesning 4

Hva er en metode? INF1000 Forelesning 8. Hva skjer når vi kaller en metode? Hvorfor bruke metoder?

1. Krav til klasseparametre 2. Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

INF1000 Forelesning 8. Litt repetisjon: Metoder og klasser Innkapsling av variable og metoder Hvordan gripe an et stort problem?

Transkript:

! " ##$ % " ' ( % )* +, )-. * / ),* 0, 1 1 ( / 2 2 / 2 ) * ', 0, 4 2, /, /,, /" 3 class C { int skrivantall(int i){ System.out.println(" Du har kalt meg med:" + i); return i+10; 5 4 class D { static int dobbel( int k) { return 2*k; void gjørmye(c cc, int v) { 42 $ System.out.println(" gjørmye kalt"); 3"% )*3$ int j = cc.skrivantall(v); System.out.println(" 1.verdien av j:" + j); j = dobbel(j); System.out.println(" 2.verdien av j:" + j); System.out.println(" 3.verdien av skrivantall(j):" + cc.skrivantall(j) ); public static void main ( String[] args) { C c = new C(); D megselv = new D(); megselv.gjørmye(c,2); 67 42 " " $

' 9 0 9 /:3#)2 * '/, 7 7, """"""" ;/ 0,2 2 1 1, 2 7 9,, 2 7 7. 7 "" 9, 2 / " 92 ) * /7 /, /)27 * 4,,, 2 7 7" (., /77 ) /*,, 8! ' (2 7, " 2 = 0 """+ 7, > 2 2 = 9,)*;,()*""+? )* ()*""> + 0,)-. * 1 1 0,, 1 1 4, ) * / A/,new,, 2 2 ) = * 0,B / /, B 7 < @

class Konto1 { String eier; int kontonum, saldo = 0; Konto1(String e) { eier = e; void settinn(int beløp) { saldo = saldo + beløp; boolean taut(int beløp) { // moderne bank med muligheter for overtrekk saldo = saldo - beløp; return saldo > 0; class Bank1 { Konto1 [] kontiene = new Konto1[100000]; public static void main( String[] args) { Bank1 b = new Bank1(); for (int i = 0; i < b.kontiene.length; i++) { b.kontiene[i] = new Konto1("kunde nr." + i); b.kontiene[i].settinn(100); A >, (, 211 ( new 2 ),, * 2, 7 )"* # /:7 7 9/ 7 int saldo /: settinn() taut() " 9, private public protected A1,C1 7 2",, + D,,,7D,," private D, 7 7D protected D, 7 7,, 7D ),,*" public, D7" + : 2"

, ' +D 7 % / /, 7E (, = 2 2 )7 * ) # 7:* 3 9 7 7,,2,, " 9 7 $ ) * % )* 0 % ) : * 0, ", ; ;7 8!

(( G4 9/, 7 7, 2, G4, ###G4"92, 7G4 +/ ) * + 2 '2 1G41 0H G4G4 9 / ) H* 922 ) G4, 27 B 2"""G42 " < @ ( 2 "4 ) 7*2 92+, / 22, 2 2 ) 2 *" 9 / =, I

class Student { String navn; Kurs [] minekurs = new Kurs[3]; Student(){mineKurs = new Kurs[0]; Student(String navn, Kurs [] k){ this.navn = navn; for (int i = 0; i<k.length; i++ ){ minekurs[i] = k[i]; minekurs[i].antstudenter++; void skrivut() { System.out.println("Student med navn:"+ navn+ ",og kurs:"); for (int i = 0;i < minekurs.length; i ++) System.out.println(mineKurs[i].kurskode); class Kurs { String kurskode ; int antstudenter = 0; Kurs(String k) { kurskode = k;!"#!"# class StudentRegister2{ public static void main(string args []) { String [] kurskode = {"IN1000","IN1040","MAT1030"; // lag kurs Kurs [] infkurs = new Kurs[3]; for (int i = 0 ; i< infkurs.length; i++) infkurs[i] = new Kurs(kurskode[i]); //lag studenter på informatikk bachelor Student [] stud = new Student[3]; stud[0] = new Student("Ola N", infkurs); stud[1] = new Student("Åsne S",infKurs); stud[3] = new Student(); for (int i = 0 ; i< stud.length; i++) stud[i].skrivut(); )* (,, 2 + )7*2 )*", " A2 2 % 2 )*" +772 ) * 0 ) * 9 ) * " 7 ( ) * J K L 3 $

7, )* )J """"* 2,, A2 $% 9 2 22, / 2 /,, 92, :, 2 2 +( (: 7 8! 0, + 3= 2 + ( 2, 32 + ( A ( 2 (M % @

+,, 2 " %, )* " ', 3" 4 )" *, $" 4,,,, "3 3# '22 +22 2, "" 4 /,,, " 4 1 1 222 22/,:,," 3 :, / + = 2 + 2 ' ( ) * / ( ), * : 0,2/ / :, 11, ) /7* '.= ' 3

+ 7 )-/, * 9, 2 ), * 4 )2 * 4:,, N8# ' A,, / + ) * + 72/" +, 7" (", 33 3$ 9/ :, 2 4,, + 7 ) * +27 7 )27 * ( navn adr. postnr. tlf. 9/ ' 7), "* public class ISort { public static void sorter(int [] a) { public static void sorter(string [] a) { public static void sorteretterkol1(string [] [] a) { // end class ISort 38 3!

class TestInnstikkSortering { public static void main ( String[] args) { int [] a = {3,1,7,14,2,156,77; String [] navn = {"Ola", "Kari", "Arne", "Jo"; String [][] telefonliste = { {"Per","22852451", {"Arne","33445566", {"Kari","44452611", {"Jo","55010102"; // sorter heltall - skriv ut ISort.sorter(a); for (int i = 0; i < a.length; i++) System.out.println("b[" + i +"]= " + a[i]); System.out.println("\n Test tekst-sortering:"); // sorter Stringer - skriv ut ISort.sorter(navn); for (int i = 0; i < navn.length; i++) System.out.println("navn[" + i +"]= " + navn[i]); System.out.println("\n Test 2dim tekst-sortering:"); // sorter Tabell - skriv ut ISort.sorterEtterKol1(telefonliste); for (int i = 0; i < navn.length; i++) System.out.println("navn[" + i +"]= " + telefonliste[i][0] + ", med tlf.: " + telefonliste[i][1] ); 3< 2 7 + 7 + 7 ; 3 < $ 8! << OM OM O%M O.O O;M O @8 $8O O%M O33$$88!!O OM O$$$8!O O.M M88### M ;2 "3 5 + P#Q-3 < P3Q-$ P$Q- P8Q-8! P!Q-<< P#Q- % P3Q-. P#Q-; " @8 $8 % "33$$88!! "$$$8! P3Q-. "88### 3I (, 2 = 3 < $ 8! << +, 7 + 2 2, ' 7, 2 2, )t* +7, 2, 2 2/7 t, " 42 ) * 0,2, 27 4 / 2 $#

+, 2 3 <$, +, 2 3<$ 3 < $ 8! << $ 3 < $ 8! << 8 3 < $ 8! << 3 3 < $ 8! <<! 3 < $ 8! << flytt: 3,7,14 ett hakk til høyre < 3 3 < $ 8! << 3 3 < $ 8! << @ 3 < $ 8! << J, 7, public class ISort { 3 < $ 8! << 3 < $8! << 3 J 3 < $8! << // a[k +1 ] står muligens på // feil plass, ta den ut int t = a[k + 1], i = k; // skyv a[i] mot høyre ett hakk til // vi finner riktig plass til t while (i >= 0 a[i] > t) { a[i + 1] = a[i]; i--; // sett t inn på riktig plass a[i + 1] = t; public static void sorter(int [] a) { for (int k = 0 ; k < a.length-1; k++) { // a[k +1 ] står muligens på feil plass, ta den ut int t = a[k + 1], i = k; // skyv a[i] mot høyre ett hakk til // vi finner riktig plass til t while (i >= 0 a[i] > t) { a[i + 1] = a[i]; i--; // sett t inn på riktig plass a[i + 1] = t; // end heltall-sortering

5 + P#Q- 2 3 P3Q-< P$Q-$ P8Q-<< P!Q-8! + )+ * OM OM O%M O.O P#Q- % P3Q-. P#Q-; " @8 $8 % "33$$88!! "$$$8! P3Q-. "88### 9, 7, ) P#Q, M%M""* $! + /, 7 OM OM O%M O.O t = a[1]; OM OM O%M O.O a[1]= a[0]; OM OM O%M O.O a[0]= t; public static void sorter(int [] a) { // Sorterer heltallsarrayaen 'a'. for (int k = 0 ; k < a.length-1; k++) { int t = a[k + 1], i = k; while (i >= 0 a[i] > t) { a[i + 1] = a[i]; i--; a[i + 1] = t; // end heltall-sortering public static void sorter(string [] a) { // Sorterer String-arrayen 'a'. for (int k = 0 ; k < a.length-1; k++) { String t = a[k + 1]; int i = k; while (i >= 0 ( a[i].compareto(t) > 0) ){ a[i + 1] = a[i]; i--; a[i + 1] = t; // end String-sortering

5 + P#Q- 2 + 3 P3Q-< P$Q-$ P8Q-<< P!Q-8! + + 7 O;M O @8 $8O O%M O33$$88!!O OM O$$$8!O P#Q-%. O.M M88### M P3Q- P#Q-; " @8 $8 % "33$$88!! "$$$8! P3Q-. "88### 9,, >7, )P#Q, M%M""* ( >7, 2 2 7 8# public static void sorter(string [] a) { // Sorterer String-arrayen 'a'. for (int k = 0 ; k < a.length-1; k++) { String t = a[k + 1]; int i = k; while (i >= 0 ( a[i].compareto(t) > 0) ){ a[i + 1] = a[i]; i--; a[i + 1] = t; // end String-sortering public static void sorteretterkol1(string [] [] a) { // Sorterer den 2-dim String-arrayen 'a ettter verdi i kol.1. for (int k = 0 ; k < a.length-1; k++) { String [] trad = a[k + 1]; int i = k; while (i >= 0 ( a[i][0].compareto(trad[0]) > 0) ){ a[i + 1] = a[i]; i--; a[i + 1] = trad; // end 2-dim String-sortering R0A###R 5 + P#Q- 3 P3Q-< P$Q-$ P8Q-<< P!Q-8! P#Q-%. P3Q- P#Q-% "33$$88!!. "88### "$$$8! P3Q-; " @8 $8 %

.= )2 * / 11 2 83 /** Klasse for sortering etter 'innstikk-metoden', se Rett på Java - kap.5.7. Sortering av heltallsarray, tekster og en to-dimensjonal tekst-array sortert etter verdiene i første kolonne.<br> N.B. Bare velegnet for mindre enn 100 elementer. * Copyright : A.Maus, Univ. i Oslo, 2003 **********************************************************/ public class ISort { /** Sorterer heltall i stigende rekkefølge @param a heltallsarrayen som sorteres * Endrer parameter-arrayen. ********************************************/ public static void sorter(int [] a) { /** * Sorterer String-arrayer i stigende leksikografisk orden. @param a arrayen som sorteres * Endrer parameter-arrayen ********************************************/ public static void sorter(string [] a) { /** * Sorterer en to-dimensjonale String-array * etter verdiene i første kolonne. * Nytter pekerombytting av radpekerne. * Antar at alle radene har minst ett element * @param a en to-dimensjonal array som sorteres * Endrer parameter-arrayen. ******************************************************/ public static void sorteretterkol1(string [] [] a) { // end class ISort 4 '( ) '(( *' +'(,'(( - '.(%( / %0' '( / 1%0' '( - 2.(%( - 1.(%( - 0'.(%( / 1'( - '.(%( - '.(%( - 1(%( - 0' (%( - (%( - 0'. ( - %0.'(%( - 3%('( 88