Unntak og feilsituasjoner i Java (samt litt ekte Java I/O)
|
|
- Hildur Simonsen
- 7 år siden
- Visninger:
Transkript
1 Utak og feilsituasjoer i Java (samt litt ekte Java I/O) Stei Gjessig, Istitutt for iformatikk, Uiversitetet i Oslo Oversikt Hva er e feil (er det ikke mulig å ugå feil?) Hva skjer år et program feiler Mål 1: Å ikke få feilmeldiger fra kjøretidsystemet, me istede la programmet få kotrolle tilbake etter e feilsituasjoe: Der programmet ormalt ville ha avsluttet med e feilmeldig Eks: Divisjo med ull, greier ikke åpe e fil, file fies ikke, kytte kotakt over ettet mislykkes, utefor arraygrese Mål 2: Eklere, mer vedlikeholdbar og mer forstålig kode
2 Feil i programmet hva skjer? import easyio.*; class Feil1 { public static void mai(strig[] args) { I tast = ew I(); it i = 1, j = 1; while ( i >= 0) { System.out.prit("\ Divisjo: 100 delt på: (gi tall):"); i = tast. iit(); j = 100/ i; System.out.pritl("Svaret på 100/" + i + " er:" +j); Array ideks utefor sie greser it [ ] tallvektor; tallvektor = ew it [100]; tallvektor[101] = 17;
3 Dages tema: Utak / feil Mye kode ka feile og feilaktige situasjoer (utak) ka oppstå. De kode som ka feile ka. og som oftest må vi legge følgede rudt kode:... Kode som ka feile...; catch (Exceptio e) {... Gjør oe med feile, prøv å rett opp... Dages tema: Utaksbehadlig <USIKKER KODE> <Hvis det skjer oe galt:> throw ew Utaksklasse( ); Ekleste form for utaksbehadlig. catch (Utaksklasse ut) { < Utaksbehadlig. Dette hoppes over år itet uormalt/galt har hedt > < her fortsetter valigvis programmet både etter ormal utførig og etter behadlig av evetuelle utak > På forhåd har vi deklarert: class Utaksklasse exteds Exceptio {...
4 Fire ye Java ord throw - Starter å kaste et utak throw <e peker til et utaksobjekt> f.eks throw ew Utak(); try - Står fora e blokk som er usikker dvs. der det ka oppstå et utak catch - Står fora e blokk som behadler et utak. Har e peker til et utaksobjekt som parameter throws - Kaster et utak videre Brukes i overskrifte på e metode som ikke selv vil behadle et utak <usikker kode> catch (Utaksklasse u) { <behadle utaket, u peker på et objekt som beskriver utaket Når utak oppstår i e metode A A x = B ( ); catch (Utaksklasse ut) { < Utaksbehadlig. Dette hoppes over år itet uormalt har hedt > < her fortsetter programmet både etter ormal utførig og etter behadlig av evetuelle utak > it B( ) throws Utaksklasse { A kaller B B oppdager e feil: throw ew Utaksklasse ( ) ; Normal retur fra B til A: retur 17; Utaksklasse er e klasse som vi på forhåd har deklarert som e subklasse av klasse Exceptio.
5 Utak - oversikt Brukes til å fage feil - eller uvalige situasjoer Når e feilsituasjo oppstår: Lages det et objekt Dette objektet brukes av feilbehadlige som ete skjer I samme metode (try-catch) eller blir sedt tilbake til kallede metode (throws) Vi må ikke (me ka) behadle feil av type: Error RuTimeExceptio Artimetriske feil Array-grese-feil Behadler vi ikke slike feil, avsluttes programmet av rutime-systemet Grusomme systemfeil vi ikke ka gjøre oe med Feil og feil fru Blom Vi behøver ikke gjøre oe med feil/utak (throws) Vi ka bare sede dem videre til de metode som kalte oss: throws (og helt til kjøresystemet: > java hvis det er mai som kaster utak/feilmeldiger videre). Vi må da etter metodes parameter-paretes me før begyede krøll-paretes skrive: throws UttakType1, UtakType2,... { hvor UttakType1, UtakType2,... er de typer (klasseavee) på de utak som oppstår (eller superklasser av disse, f.eks. Exceptio) og ikke selv fager med try-catch. Merk at vi bruker ordet både for utak metode vår selv geererer og de utak/feil metode mottar (fra metoder de selv har kalt) og bare videreseder. Ulempe med videre-kastig av utak: Jo ærmere feilkilde feile blir rettet, jo bedre.
6 Sede feilee videre ut av mai throws (ulempe programmet bare avslutter) import easyio.*; class MiFeil exteds Exceptio { MiFeil (Strig s) { super(s); class Feil { it i; public static void mai(strig[] args) throws ArrayIdexOutOfBoudsExceptio, NumberFormatExceptio, MiFeil { it j; j = ew Feil().a(args[0]); System.out.pritl("RIKTIG: j = + j); it a (Strig s) throws NumberFormatExceptio, MiFeil { it i = Iteger.parseIt(s); if (i < 10) throw ew MiFeil ("FEIL: Tallet er midre e 10"); retur i;!"# $ %!&"' To (tre) strategier for utakshådterig Fage utaket med try-catch og gjøre oe i catch-dele Ikke bruke try-catch, me bare sede (kaste) utaket videre med throws Fage utaket og ha e tom krøll-paretes i catch-dele (Ikke abefalt)
7 Utak strategier, mer detaljert oversikt (( %) %* 1. Løs problemet og kall metode som ga utak om igje 2. Lapper samme tig ute å kalle metode som ga utak, eller bereg et alterativt ( beste ) resultat istedefor det utaksmetode skulle ha bereget 3. Avslutt programmet: System.exit(0); 4. Igorere dem hvis de er av type RuTimeExceptio eller Error hvis de oppstår termierer programmet Utak - oversikt, forts. $ $$! (!" +,, $ - ).,/,,* + 0 $$$$,$ # 453 ' 0 $$$, %,, 2 $ - 6,),(# ' * + 0 $$$$,$ # 453 ' 0 $$$, %,6 $$, ( & 7 2
8 Strig-ideks utefor strige class Utak0x { public static void mai(strig[ ] args) { ew Utak0x ( ); Utak0x ( ) { Strig s = "Dette er e tekst med 29 teg", s1; s1 = s.substrig(30,32); // strig-ideks utefor "ede" Behadler Strigideks-feil class Utak1x { public static void mai(strig[ ] args) { ew Utak1x ( ); Utak1x ( ) { Strig s = "Dette er e tekst med 29 teg", s1; s1 = s.substrig(30,32); // strig-ideks utefor "ede" catch (StrigIdexOutOfBoudsExceptio e) { System.out.pritl("Her er det oe galt med strig-idekse ); //ed try >java Utak1x Her er det oe galt med strig-idekse
9 Eksempel på bruk av utaksobjektet class Utak2x { public static void mai(strig[ ] args) { ew Utak2x ( ); Utak2x ( ) { Strig s = "Dette er e tekst med 29 teg", s1; s1 = s.substrig(30,32); // strig-ideks utefor "ede" catch (StrigIdexOutOfBoudsExceptio e) { System.out.pritl("Her er det oe galt med strig-idekse " + e.getmessage( )); //ed try >java Utak2x Her er det oe galt med strig-idekse Strig idex out of rage: 32 Fage divisjo med 0 public class TryTest { public static void mai ( Strig [ ] args) Her tar programmet { it i=1; seg av hele feile for (it j=0; j < 5; j++) try{ i = 10/j; System.out.pritl("Det gikk OK, i:" + i + ", j:" + j); catch (Exceptio e) { System.out.pritl("Feil i uttrykk: "+ e.getmessage( )); // ed TryTest sidil> java TryTest Feil i uttrykk: / by zero Det gikk OK, i:10, j:1 Det gikk OK, i:5, j:2 Det gikk OK, i:3, j:3 Det gikk OK, i:2, j:4 sidil>
10 Starte å sede feil/utak selv - eks. class Feil1 { it i; public static void mai(strig[] args) { ew Feil1().a(ull); void a( Feil1 pek) { if (pek == ull ) throw ew NullPoiterExceptio( pek må være!= ull"); pek.i = 14; Merk at her kastes et objekt av e klasse som er subklasse av RuTimeExceptio, så da treger vi ikke try-catch rudt kallet på metode a Egedefierte utak class Mittutak exteds Exceptio { public Mittutak ( ) { public Mittutak (Strig s) { super(s); // ed kostruktører // ed class Mittutak try{... catch (Mittutak e) {.. e.getmessage( ).. throw ew Mittutak("feilmeldig"); De ye klasse Mittutak utvider (exteds) de ferdiglaget Java-klasse med av Exceptio. throw ew Mittutak( );
11 4* class Mittutak exteds Exceptio { public Mittutak ( ) { Fullstedig eks. public Mittutak (Strig s) { super(s); import java.io.*; class UtakEge { public static void mai(strig[ ] args) throws IOExceptio { ew UtakEge ( ); UtakEge ( ) throws IOExceptio { BufferedReader mii = ew BufferedReader (ew IputStreamReader(System.i)); System.out.pritl("Skriv et positivt tall?"); Strig lije = mii.readlie ( ); it tall = Iteger.parseIt(lije); if (tall < 0) throw ew Mittutak(lije); System.out.pritl("Rote av tallet er: " + Math.sqrt(tall)); catch (Mittutak u) { System.out.pritl(" Ka ikke fie rote av " + u.getmessage()); // slutt class UtakEge 4* Koto med OvertrekkUtak - VIKTIG class Koto { private double saldo = 0, miimumsaldo = 0; private it kotor; Koto (it r) { kotor = r; public void taut (double belop) throws OvertrekkUtak { if (saldo - belop < miimumsaldo) { throw ew OvertrekkUtak(Iteger.toStrig(kotor)); else saldo = saldo - belop; // slutt taut... class OvertrekkUtak exteds Exceptio { public OvertrekkUtak (Strig s) { // slutt Koto super(s); // ed class OvertrekkUtak
12 Bruk av Koto med OvertrekkUtak class Bak{ static void mai (Strig [] args) { Koto pek = ew Koto(234); pek.taut(-10); catch (OvertrekkUtak e) { System.out.prit(" Overtrekk på koto "); System.out.pritl( e.getmessage()); // slutt catch // slutt mai slutt Bak Flere opplysiger ut av parametere til catch import easyio.*; class Feil3 { public static void mai(strig[] args) { ew Feil3().a(); void a() { b(); void b(){ I tast = ew I(); it i = 1, j = 0; Divisjo: 100 delt p : (gi tall):0 FY - delig med ull er tull java.lag.arithmeticexceptio: / by zero at Feil3.b(Feil3.java:19) at Feil3.a(Feil3.java:9) at Feil3.mai(Feil3.java:6) Divisjo: 100 delt p : (gi tall): while ( i >= 0) { System.out.prit("\Divisjo: 100 delt på: (gi tall):"); i = tast. iit(); try{ j = 100/ i; System.out.pritl("Svaret på 100/" + i + " er:" +j); catch (Exceptio e){ System.out.pritl("\ FY - delig med ull er tull"); e.pritstacktrace();
13 Hvilke klasser av feil og utak har vi i Java Exceptio utak (med alle subklassee) Disse utakee ka og må vi fage (Utatt RuTimeExceptio) F.eks. IOExceptio (kommer vi tilbake til) RuTimeExceptio (e subklasse av Exceptio) igje med sie subklasser som : ArrayIdexOutOfBoudsExceptio, NumberFormatExceptio, ArithmeticExceptio,... Disse ka, me må vi ikke fage Vi ka, me må ikke skrive try-catch for disse feilsituasjoee Vi ka kort sagt igorere disse (me da termierer programmet ) Det ville ellers bli alt for mye..catch (..){... i kode Eks: Divisjo med 0, e peker er ull, gal ideks i e array,.. Error (med alle subklassee) Noe galt skjer, vi ka som oftest ikke gjøre oe med det Eks:.IteralError.OutOfMemoryError, NoClassDefFoudError Error og Exceptio er subklasser av Throwable Fage flere utak class Utak3x { public static void mai(strig[ ] args) { ew Utak3x ( ) ; Utak3x ( ) { it divided=7, divisor = 0; it kvotiet=0; Strig s="dette er e tekst med 29 teg"; Strig s1="*********"; s1 = s.substrig(15,17); // OK strig-ideks kvotiet = divided/divisor; // Feil: divisjo med 0 catch (StrigIdexOutOfBoudsExceptio e) { System.out.pritl("Her er det oe galt med strig-idekse"); catch (ArithmeticExceptio e1) { System.out.pritl("Divisjo med 0: " + e1.getmessage( ) ); //ed try-catch System.out.pritl(s1); System.out.pritl(kvotiet); >java Utak3x Divisjo med 0: / by zero st 0
14 Nytt Java ord: fially Vi ka ha flere catch etter hveradre: try{... Kode som ka gi utak / feile... catch (Type1 t1 ) { catch (Type2 t2 ) {... catch (Type3 t3 ) {... fially { // Dette gjøres alltid - selv om vi ikke får oe utak Da testes det (omlag som e switch), og bare de første som får tilslag, blir utført Husk: At hvis e av klasseavee (Type1, Type2,..) er superklasse til det ikome utaket, vil de blir utført. Fially vil alltid bli utført ete det ble utak eller ikke og ete oe av catchee fikk tilslag eller ikke. Motta mage feiltyper - eksempel import easyio.*; class MiFeil exteds Exceptio { MiFeil (Strig s) { super(s); class Feil7 { it i; it a( Strig s) throws NumberFormatExceptio, MiFeil{ it i = Iteger.parseIt(s); if (i < 10) throw ew MiFeil ("FEIL: Tallet er midre e 10"); retur i; public static void mai(strig[] args) { it j; j= ew Feil7().a(args[0]); System.out.pritl("RIKTIG: j="+j); catch (ArrayIdexOutOfBoudsExceptio e) { System.out.pritl("Galt kall på Feil7, bruk:>java Feil7 tall "); catch (NumberFormatExceptio e) { System.out.pritl("Skriv tall"); catch (MiFeil m) { System.out.pritl(m.getMessage()); m.pritstacktrace(); fially { // Dette gjøres alltid - selv om vi ikke får oe utak System.out.pritl("Alltid fially");
15 IO feil E metode som ka komme til å gjøre e IO-feil må ete behadle dette selv, eller kaste feile videre: public void mifilleser() throws IOExceptio { < kode som gjør fil-behadlig> I fra tastatur i Java mai mii Hilse klassedatastruktur import java.io.*; class Hilse { public static void mai (Strig [] args) throws IOExceptio { BufferedReader mii = ew BufferedReader (ew IputStreamReader(System.i)); av Strig readlie() Objekt av klasse BufferedReader System.out.pritl( Hva heter du?"); Strig av = mii.readlie ( ); System.out.pritl( God dag " + av ); sidil:>javac Hilse.java sidil:>java Hilse Hav heter du? Stei Gjessig God dag Stei Gjessig sidil:> " # $ # 11 kostruktører 47 metoder pluss plass til å lagre e streg (e tekst) Stei Gjessig Et objekt av klasse Strig
16 Om å lese desimaltall (Utdrag av et program) import java.io.*; BufferedReader mii = ew BufferedReader (ew IputStreamreader (System.i)); double tall; Strig lije; mai mii lije = mii.readlie(); Strig readlie() tall = Double.parseDouble(lije); // eller: tall = Double.valueOf(lije.trim()).doubleValue(); Vi husker: Double er e klasse som ieholder mye verktøy som behadler kommatall av type double. ( Dette har ige tig med ilesig å gjøre. ) Adre klasser som bl.a. heter Character, Iteger, Log og Boolea ieholder metoder for å ta seg av hhv. teg, heltall (it og log) og logiske verdier. Se i pakke java.lag Dette objektet leser fra tastaturet Double Double valueof ( ) double parsedouble ( ) double doublevalue( ) E ekel måte å lese heltall på import java.io.*; BufferedReader mii = ew BufferedReader (ew IputStreamReader (System.i)); it tall; Strig lije; lije = mii.readlie(); tall = Iteger.parseIt(lije); DETTE GÅR BRA HVIS LINJEN BARE INNE- HOLDER ET TALL!! 137 tall lije Iteger it parseit ( ) Strig klassedatastruktur 137 Et objekt av klasse Strig
17 Ilesig fra fil Java origial Først må vi lage e forbidelse med file: fili BufferedReader fili = ew BufferedReader (ew FileReader ( mifil.txt )); Nå ka vi bruke file på samme måte som vi leste data fra tastaturet: double dtall; Strig tekst; Dette objektet leser fra file mifil.txt mifil.txt Forelesigee dtall = Double.parseDouble(filI.readLie()); tekst = fili.readlie( ); tekst dtall Forelesigee Et objekt av klasse Strig Utskrift til fil - Java origial mai filut PritWriter filut = ew PritWriter (ew FileWriter ( miutfil.txt )); // Utskrift skjer som til skjerm: filut.pritl( utskrift + 17 ): For at iholdet på de ye file skal bevares må vi til slutt si: Dette objektet skriver på file miutfil.txt void pritl() miutfil.txt filut.close( );
18 I/O utak som ikke behadles av programmet Når det oppstår et I/O-utak ka programmet velge å selv ikke behadler det, me kaste det videre til kjøretidsystemet. public static void mai(strig[] args) throws IOExceptio { BufferedReader fili = ew BufferedReader (ew FileReader ("difil.txt"));... For eksempel hvis file ikke fies: Summe av tallee på e fil (estet try-catch) import java.io.*; class Sum { public static void mai(strig[] args) throws IOExceptio { BufferedReader i = ew BufferedReader (ew IputStreamReader (System.i)); BufferedReader fili = ull; Strig filav = ull, lije = ull; it tall, sum= 0; boolea filskalfies = true; while ( filskalfies ) { System.out.prit("Filav: "); filav = i.readlie(); fili = ew BufferedReader (ew FileReader (filav)); // Ikke gjeta fil-åpig mer: filskalfies = false; while ( true ) { lije = fili.readlie(); tall = Iteger.parseIt(lije); sum += tall; catch (NumberFormatExceptio e) { System.out.pritl("Summe er: "+sum); catch ( FileNotFoudExceptio e) { System.out.pritl(filav+ " uket ); System.out.pritl("Prøv igje"); // slutt åpe fil løkke // slutt mai // slutt klasse Sum
19 To alterative EOF -metoder (programmøstre) while ( true ) { lije = fili.readlie(); if (lije == ull) throw ew EOFExceptio(); tall = Iteger.parseIt(lije); sum += tall; catch (EOFExceptio e) { System.out.pritl ("Summe er: "+sum); lije = fili.readlie(); while ( lije!= ull ) { tall = Iteger.parseIt(lije); sum += tall; lije = fili.readlie(); System.out.pritl ("Summe er: "+sum); Eksempel: class I og IExp i easyio public class IExp { BufferedReader i;... public it iit(strig sep) throws NumberFormatExceptio, IOExceptio { retur Iteger.parseIt(iWord(sep)); public Strig iword(strig sep) throws IOExceptio { lieno++; retur i.readlie(); public class I exteds IExp { public it iit() { retur iit(ull); public it iit(strig sep) { for (it i = 0; i < umtry; i++) { retur super.iit(sep);... catch (IOExceptio ioe) { feil("iit: " + ioe.getmessage()); retur 0; // kompilatormat catch (NumberFormatExceptio fe) { System.out.prit("Forveter et heltall. Prøv igje: "); // ed try-catch
20 A%, 8 9 ( %,,6 %* & & :#'7 8; % #'', % +)33$ <, +)33=* 0 $ $ $ + 0 $ $ $ %$ $ $ 2 33#453> ' 0 $ $ $ $ $ $ 2 2 8:,$ ; % 6 ( &* #$$$' & 453> 8; %?%453=6, ( $ 8 4 %, % 6 %, +@ 6 % %, %,$ Java og C# Vi har tidligere sakket litt om forskjellee mellom Java og C# Java er laget av Su, C# av Microsoft Det meste er likt Tidligere har vi sakt at hedelser hådteres forskjellig Utak hådteres rimelig likt, me i C# er du ikke tvuget til å deklarere de utak som kastets videre (alle utak I C# fugerer altså slik som rutime-feil i Java) Alle Microsofts språk kompileres til C# og bruker C#s objektorieterte kjøretidsystem Java compileres til byte-kode, C# kompileres Just-I-Time (JIT) til maskikode
Inf1010 Våren Feilsituasjoner og unntak i Java. Stein Gjessing, Institutt for informatikk, Universitetet i Oslo
Inf1010 Våren 2009 Feilsituasjoner og unntak i Java Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Oversikt Hva er en feil (er det ikke mulig å unngå feil?) Hva skjer når et program feiler
DetaljerOversikt. Feil i programmet hva skjer? Array indeks utenfor sine grenser. Inf1010 Våren Feilsituasjoner og unntak i Java
Oversikt Inf1010 Våren 2008 Feilsituasjoner og unntak i Java Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Hva er en feil (er det ikke mulig å unngå feil?) Hva skjer når et program feiler
DetaljerInf1010 Våren Feilsituasjoner og unntak i Java. Stein Gjessing, Institutt for informatikk, Universitetet i Oslo
Inf1010 Våren 2008 Feilsituasjoner og unntak i Java Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Oversikt Hva er en feil (er det ikke mulig å unngå feil?) Hva skjer når et program feiler
DetaljerOversikt. Feil i programmet hva skjer? Array indeks utenfor sine grenser. Inf1010 Våren Feilsituasjoner og unntak i Java
Oversikt Inf1010 Våren 2009 Feilsituasjoner og unntak i Java Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Hva er en feil (er det ikke mulig å unngå feil?) Hva skjer når et program feiler
DetaljerStein Gjessing, Institutt for informatikk, Universitetet i Oslo
INF1010 Våren 2015 Feilsituasjoner og unntak i Java (Engelsk: Exception) Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Jeg prøvde å bestille billett med Air France:
DetaljerInf1010 Våren Feilsituasjoner og unntak i Java. Stein Gjessing, Institutt for informatikk, Universitetet i Oslo
Inf1010 Våren 2010 Feilsituasjoner og unntak i Java Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Jeg prøvde å bestille billett med Air France:
DetaljerOversikt. Array indeks utenfor sine grenser. Feil i programmet hva skjer?
Inf1010 Våren 2007 Tirsdagene 6. mars (bare 1. time) og 10. april 2007 Feilsituasjoner og unntak i Java (og litt ekte Java I/O) Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Oversikt
DetaljerINF1010 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
DetaljerINF1010 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:
DetaljerINF1010 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
DetaljerINF våren 2005 Uke 1, 11 jan - Praktisk, oversikt og forutsetninger
INF1010 - våre 2005 Uke 1, 11 ja - Praktisk, oversikt og forutsetiger Stei Gjessig og Stei Michael Storleer Ist. for iformatikk Om INF1010 Forutsetter INF1000 (eller tilsvarede som Humit1700?) Lærebok
DetaljerINF1010 - våren 2007 16. januar, uke 3 - Oversikt og forutsetninger Java datastruktur-tegninger
INF1010 - våre 2007 16. jauar, uke 3 - Oversikt og forutsetiger Java datastruktur-tegiger Stei Gjessig Ist. for iformatikk Nye temaer i INF1010 Fra problem til program Software Egieerig light, fasee i
DetaljerVi lærte sist å lage vinduer. Om å lage et vindu. GUI (Graphical User Interface)-programmering. Inf 1010-2007 GUI - del 2
GUI (Graphical User Iterface)-programmerig If 1010-2007 GUI - del 2 Stei Gjessig Ist for Iformatikk Uiv. i Oslo Tidligere Hvorda få laget et vidu på skjerme Grafikk (tegig i viduet) Hvorda legge ulike
DetaljerIN1010 våren 2019 Onsdag 15. mai. Rask repetisjon av subklasser og tråder (pluss µ nytt)
IN1010 våre 2019 Osdag 15. mai Rask repetisjo av subklasser og tråder (pluss µ ytt) Stei Gjessig Istitutt for iformatikk Uiversitetet i Oslo 1 Iledig Dette er 41 lysark som det ikke er mulig å gå gjeom
DetaljerOm Grafiske Bruker-Grensesnitt (GUI) Hvordan gjør vi det, to typer av vinduer? GUI (Graphical User Interface)-programmering
Uke9. mars 2005 rafisk brukergresesitt med Swig og awt Litt Modell Utsy - Kotroll Del I Stei jessig Ist for Iformatikk Uiv. i Oslo UI (raphical User Iterface)-programmerig I dag Hvorda få laget et vidu
DetaljerINF1010 våren 2017 Torsdag 26. januar. Arv og subklasser del 1. Stein Gjessing Institutt for informatikk Universitetet i Oslo
INF1010 våre 2017 Torsdag 26. jauar Arv og subklasser del 1 Stei Gjessig Istitutt for iformatikk Uiversitetet i Oslo 1 Når du har lært om subklasser ka du programmere med: Første uke: Spesialiserig (og
DetaljerINF1010 våren 2005 Uke 3, 25. januar Arv og subklasser del I
Emeoversikt subklasser INF1010 våre 2005 Uke 3, 25. jauar Arv og subklasser del I Stei Gjessig Istitutt for iformatikk 1 Geeraliserig - spesialiserig Gjebruk av klasser Ved sammesetig (komposisjo) Ved
DetaljerINF 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
Detaljern / ($$ n 0$$/ $ " 1! <! ')! $ : ; $.+ $.5.+ .!)/!/ ) $.) 6$ 7$, $.5.,.9+- 5.+ 8$ 7$, + - 5.
"# %% & ' ()*,"""). / " %% &%% / ( 0/ " 1 /(232.,..5. 6 7,.5.,. / : ; 5.. )// ).) 8 < ') < 6 6 8 < 8 8 7,.5.,.9 5. 5. 5. 5. 5.. 5..9 /.> DB(?/ ( / (.?/. /?(5@"""6(?( 5@""6 &. A8 6 (."B 3 8 6 ) ("?/& =
DetaljerINF3030 Uke 7, våren Eric Jul PSE Inst. for informatikk
INF3030 Uke 7, våre 2019 Eric Jul PSE Ist. for iformatikk 1 Hva så vi på i uke 6 1. Eratosthees sil 2. Kokker og Kelere 3. Cocurrecy: De første to av tre måter å programmere moitorer i Java eksemplifisert
DetaljerIN1010 våren 2019 Onsdag 6. februar. Arv og subklasser - del 2
IN1010 våre 2019 Osdag 6. februar Arv og subklasser - del 2 Stei Gjessig Dages tema Virtuelle metoder som er det samme som Polymorfi Når bruker vi arv / år bruker vi komposisjo Kostruktører i subklasser
DetaljerTråder i Java Parallelle programmmer og programbiter
Oversikt Tråder i Java Parallelle programmmer og programbiter Stei Gjessig, Ist. for iformatikk, Uiv. i Oslo Hva er parallelle programmer? Hvorfor parallelle programmer? Hvorda ka dette skje i e maski
DetaljerLitt om pakker og mest om data inn og ut
Litt om pakker og mest om data inn og ut IN105-javainnogut-1 import java.io.*;. Data inn fra tastaturet lesemetode tastatur BufferedReader void lesemetode (String [ ] args) throws IOException {... /* sett
DetaljerTOD063 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
DetaljerINF2440 Uke 5, våren2018. Eric Jul PSE Inst. for informatikk
INF2440 Uke 5, våre2018 Eric Jul PSE Ist. for iformatikk 1 Hva så vi på i Uke4 1. Kommetarer om matrise-multiplikasjo 2. Hvorfor vi ikke bruker PRAM modelle for parallelle beregiger som skal gå fort. 3.
DetaljerINF3030 Uke 6, våren Eric Jul PSE Inst. for informatikk
INF3030 Uke 6, våre 2019 Eric Jul PSE Ist. for iformatikk 1 Å dele opp algoritme Kode består e eller flere steg; som oftest i form av e eller flere samliger av løkker (som er ekle, doble, triple..) Vi
DetaljerINF1010 våren 2017 Torsdag 9. februar. Interface - Grensesnitt
INF1010 våre 2017 Torsdag 9. februar Iterface - Gresesitt og litt om geeriske klasser og geeriske iterface hvis tid Stei Gjessig Dages hovedtema Egelsk: Iterface (også et Java-ord) Norsk: Gresesitt Les
DetaljerIN1010 våren 2018 Tirsdag 13. februar. Interface - Grensesnitt
IN1010 våre 2018 Tirsdag 13. februar Iterface - Gresesitt Stei Gjessig Dages hovedtema Egelsk: Iterface (også et Java-ord) Norsk: Gresesitt Les otatet Gresesitt i Java av Stei Gjessig To motivasjoer for
DetaljerINF2440, Uke 3, våren 2018 Regler for parallelle programmer, mer om cache og Radix-algoritmen. Eric Jul PSE, Inst. for informatikk
INF2440, Uke 3, våre 2018 Regler for parallelle programmer, mer om cache og Radix-algoritme Eric Jul PSE, Ist. for iformatikk 1 Hva har vi sett på i Uke2 I) Tre måter å avslutte tråder vi har startet.
DetaljerIN 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,
DetaljerTre 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:
DetaljerHvordan gjør vi det, to typer av vinduer? Om Grafiske Bruker-Grensesnitt (GUI) GUI (Graphical User Interface)-programmering
GUI (Graphical User Iterface)-programmerig Uke 11 13. mars 2007 Grafisk brukergresesitt med Swig og awt Litt Modell Utsy - Kotroll Del I Stei Gjessig Ist for Iformatikk Uiv. i Oslo I dag (så lagt vi kommer)
DetaljerKonstruktører. Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver. skjer følgende:
Konstruktører Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver Punkt p = new Punkt(3,4); class Punkt { skjer følgende: int x, y; 1. Det settes av plass i
DetaljerOblig 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,
DetaljerINF1000-SIKT - Notat om I/O i Java
INF1000-SIKT - Notat om I/O i Java Tuva Kristine Thoresen tuvakt@ulrik.uio.no 30. oktober 2013 Innhold 1 Innlesning fra terminal 2 1.1 Innlesning av tekst........................ 2 1.2 Innlesning av tall.........................
DetaljerLø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
Detaljer13.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,
DetaljerINF2440 Uke 4, v2018 Om å samle parallelle svar, matrisemultiplikasjon og The Java Memory Model. Eric Jul PSE, Inst.
INF2440 Uke 4, v2018 Om å samle parallelle svar, matrisemultiplikasjo og The Java Memory Model Eric Jul PSE, Ist. for iformatikk 1 Hva så vi på i uke 3 1. Presiserig av hva som er pesum 2. Samtidig skrivig
DetaljerINF Notat om I/O i Java
INF1000 - Notat om I/O i Java Tuva Kristine Thoresen, Ingrid Grønlie Guren tuvakt@ulrik.uio.no, ingridgg@ulrik.uio.no 22. oktober 2014 Dette notatet handler om I/O (input/output) i Java, og tar for seg
DetaljerINF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen
INF1000 EKSTRATILBUD Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen PLAN FOR DAGEN gjennomgå stoff fra uke 1-5(6), men med en litt annen tilnærming kun gjennomgått stoff, men vekt på konsepter og
DetaljerINF1010 våren Arv og subklasser del 1 (pluss litt I/O og unntaksbehandling)
INF1010 våren 2012 Torsdag 9. februar Arv og subklasser del 1 (pluss litt I/O og unntaksbehandling) Stein Gjessing Institutt for informatikk Universitetet i Oslo 1 Når du har lært om subklasser kan du
DetaljerIN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr
IN1010 Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et par eksempler
DetaljerHittil 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
DetaljerJentetreff INF1000 Debugging i Java
Jentetreff INF1000 Debugging i Java Ingrid Grønlie Guren ingridgg@student.matnat.uio.no 11. november 2013 Kort om feilmeldinger i Java Java har to ulike type feilmeldinger som man kan få når man skriver
Detaljer1. 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
DetaljerINF1000 (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
DetaljerIN3030 Uke 5, våren Eric Jul PSE Inst. for informatikk
IN3030 Uke 5, våre 2019 Eric Jul PSE Ist. for iformatikk 1 Hva så vi på i Uke4 1. Kommetarer om matrise-multiplikasjo 2. Hvorfor vi ikke bruker PRAM modelle for parallelle beregiger som skal gå fort. 3.
DetaljerINF1010 våren Generalisering -spesialisering Gjenbruk av klasser. Ved arv. Klasse-hierarkier. Stein Gjessing.
INF1010 våren 2009 Uke 5, 27. januar Arv og subklasser del I Stein Gjessing Institutt for informatikk 1 Emneoversikt subklasser Generalisering -spesialisering Gjenbruk av klasser Ved sammensetning (komposisjon)
DetaljerINF1010 våren 2016. Arv og subklasser - del 2
INF1010 våren 2016 Onsdag 10. februar Arv og subklasser - del 2 pluss litt om feil og unntak hvis tid Stein Gjessing Institutt for informatikk Dagens tema Virtuelle metoder som er det samme som Polymorfi
DetaljerUNIVERSITETET 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
DetaljerIN3030 Uke 12, v2019. Eric Jul PSE, Inst. for informatikk
IN3030 Uke 12, v2019 Eric Jul PSE, Ist. for iformatikk 1 Hva skal vi se på i Uke 12 Review Radix sort Oblig 4 Text Program Parallellizig 2 Oblig 4 Radix sort Parallelliser Radix-sorterig med fra 1 5 sifre
DetaljerDel 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
DetaljerBruk av class Scanner, FileWriter og Formatter som alternativ til EasyIO i INF1000.
Arne Maus, ver.2.2, august, 2013 Bruk av class, FileWriter og Formatter som alternativ til EasyIO i INF1000. Noen ønsker å bruke noen av de klassene vi finner i pakken java.util og java.io isteden for
DetaljerOBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK
INF1000: Forelesning 6 Klasser og objekter del 1 OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK Motivasjon Anta at vi ønsker å lage et studentregister hvor vi for hver student lagrer, bruker og telefonnummer Med
DetaljerDagens tema Kapittel 8: Objekter og klasser
Dagens tema Kapittel 8: Objekter og klasser Hva er objekter og klasser? Programmering med objekter Klassedeklarasjoner Generering av objekter Tilgang til elementer i objektene Objekt- og klassevariable
DetaljerINF1000: noen avsluttende ord
Pensum Det som er gjennomgått på forelesningene INF1000: noen avsluttende ord Arne og Fredrik Stoff som er behandlet i oppgaver/obliger Notat om Informasjonsteknologi, vitenskap og samfunnsmessige virkninger
Detaljeri=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
DetaljerForelesning 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
DetaljerUNIVERSITETET 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 :
DetaljerINF1000 (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
DetaljerINF1000: Forelesning 6. Klasser og objekter del 1
INF1000: Forelesning 6 Klasser og objekter del 1 OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK 2 Motivasjon Anta at vi ønsker å lage et studentregister hvor vi for hver student lagrer navn, brukernavn og telefonnummer.
DetaljerOppgave 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
DetaljerI 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(MVC - Model, View, Control)
INF1010 - våren 2008 Modell - Utsyn - Kontroll (MVC - Model, View, Control) Stein Gjessing Inst. for informatikk Et bankprogram Vi skal lage et program som håndterer kontoene i en bank. En konto eies av
DetaljerJava 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:
DetaljerInnhold. Forord Det første programmet Variabler, tilordninger og uttrykk Innlesing og utskrift...49
Innhold Forord...5 1 Det første programmet...15 1.1 Å kommunisere med en datamaskin 16 1.2 Programmeringsspråk 17 1.3 Et program som skriver på skjermen 18 1.4 Kompilering og kjøring 19 1.5 Kommentarer
DetaljerINF1000 - 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
DetaljerPrø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
DetaljerFra Python til Java. En introduksjon til programmeringsspråkenes verden. Dag Langmyhr
Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et eksempel Klasser
DetaljerI 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
DetaljerOppgave 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];
DetaljerINF1000 : 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
Detaljeri=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
DetaljerUke 5, 27. januar Arv og subklasser del I. Stein Gjessing Institutt for informatikk
INF1010 våren 2009 Uke 5, 27. januar Arv og subklasser del I Stein Gjessing Institutt for informatikk 1 Emneoversikt subklasser Generalisering - spesialisering Gjenbruk av klasser Ved sammensetning (komposisjon)
DetaljerOblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59
Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Formål Formålet med denne oppgaven er å gi trening i hele pensum og i å lage et større program. Løsningen du lager skal være
DetaljerIN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr
IN1010 Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et par eksempler
DetaljerInnhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java
INF høsten 2 Uke 4: 3. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Mål for uke 4: Innhold uke 4 Repetisjon m/ utvidelser:
DetaljerI 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
DetaljerLeksjon 7. Filer og unntak
6108 Programmering i Java Leksjon 7 Filer og unntak Del2: 7.2 og 7.4 Roy M. Istad 2015 Fil: Permanent lagring av data PrintWriter(filnavn) throws Exception usjekkede/sjekkede unntak? skriver.println(data-i-tekstlinje)
DetaljerINF1010 våren Arv og subklasser del 1 pluss (hvis vi har tid) litt om Unntak, IO og Scanner-klassen
INF1010 våren 2014 Onsdag 5. februar Arv og subklasser del 1 pluss (hvis vi har tid) litt om Unntak, IO og Scanner-klassen Stein Gjessing Institutt for informatikk Universitetet i Oslo 1 Når du har lært
DetaljerInnlesning 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:
DetaljerEKSAMEN Løsningsforslag
..4 EKSAMEN Løsigsforslag Emekode: ITF75 Dato: 6. desember Eme: Matematikk for IT Eksamestid: kl 9. til kl. Hjelpemidler: To A4-ark med valgfritt ihold på begge sider. Kalkulator er ikke tillatt. Faglærer:
DetaljerLese 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
DetaljerStabler, Køer og Lister. ADT er
Stabler, er og Lister I. STEL OG QUEUE DT I.1 DT I.2 rray implemetasjo I.3 Liket-Liste implemetasjo II. DQUEUE DT III.IMPLEMENTSJON V EN DT MED EN NNEN DT Kap. 3 (kursorisk: 3.1.3, 3.2.3, 3.4; utatt: 3.2.4,
DetaljerHva 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; }
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; Hva skrives ut på skjermen når følgende kode utføres? int [] tallene =
DetaljerTa 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
Eksempel med to-dimensjonal array Filbehandling Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo Java 6 Vi skal lage et program som illustrerer
DetaljerINF Notater. Veronika Heimsbakk 10. juni 2012
INF1010 - Notater Veronika Heimsbakk veronahe@student.matnat.uio.no 10. juni 2012 1 Tilgangsnivåer 2 CompareTo Modifier Class Package Subclass World public Y Y Y Y protected Y Y Y N no modifier Y Y N N
DetaljerRepetisjon. INF1000 - gruppe 13
Repetisjon INF1000 - gruppe 13 Lese fra fil Scanner import java.util.*; void lesfrafil() { try { Scanner innfil = new Scanner(new File( fugleobservasjoner.txt )); while (innfil.hasnext()) { String linje
DetaljerUNIVERSITETET 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
DetaljerINF2440 Uke 6, våren Eric Jul PSE Inst. for informatikk
INF2440 Uke 6, våre 2018 Eric Jul PSE Ist. for iformatikk 1 Hva så vi på i uke 5 (ku første forelesigstime) 1. Eda bedre Matrise-multipliserig 2. Modell2-kode for sammeligig av kjøretider på (ekle) parallelle
DetaljerHvis 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å
DetaljerHvis 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å
DetaljerINF1000 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
DetaljerVideregå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
DetaljerINF1000 (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
DetaljerINF1000 (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
DetaljerINF1010, 22. mai Prøveeksamen (Eksamen 12. juni 2012) Stein Gjessing Inst. for Informatikk Universitetet i Oslo
INF, 22. mai 23 Prøveeksamen 23 (Eksamen 2. juni 22) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Oppgave a Tegn klassehierarkiet for de 9 produkttypene som er beskrevet over. Inkluder også
DetaljerINF1000 : 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
DetaljerOPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?
OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.
Detaljer