Litt om pakker og mest om data inn og ut

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Begynne med side:

Download "Litt om pakker og mest om data inn og ut"

Transkript

1 Litt om pakker og mest om data inn og ut IN105-javainnogut-1

2 import java.io.*;. Data inn fra tastaturet lesemetode tastatur BufferedReader void lesemetode (String [ ] args) throws IOException {... /* sett opp et objekt 'tastatur' hvis metoder foretar bufret innlesing fra tastaturet */ buffer String readline( ) BufferedReader tastatur = new BufferedReader (new InputStreamReader (System.in)); String streng; streng = tastatur.readline ( ); // leser en linje fra tastaturet. InputStreamReader Data inn fra tastatur IN105-javainnogut-2

3 Data fra tastaturet - eksempel import java.io.*; class Hilsen{ // side 97 i læreboka public static void main (String [ ] args) throws IOException { new Hilsen ( ) ; Hilsen ( ) throws IOException { BufferedReader tastatur = new BufferedReader (new InputStreamReader(System.in)); System.out.println("Hva heter du?"); String name = tastatur.readline ( ); System.out.println("Goddag, " + name); snidil:>javac Hilsen.java snidil:>java Hilsen Hva heter du? Ludvig van Beethoven Goddag, Ludvig van Beethoven snidil:> IN105-javainnogut-3

4 Lesing av tall ett pr. linje import java.io.*;. BufferedReader tastatur = new BufferedReader (new InputStreamreader (System.in));. tastatur int heltall = Integer.parseInt(tastatur.readLine( ) );.. double flyttall = Double.parseDouble( tastatur.readline( ) ); BufferedReader String readline( ) Integer int parseint( ) Double Double valueof( ) double parsedouble( ) IN105-javainnogut-4

5 Pakker En pakke er en samling (Java)filer som ligger i en katalog. Katalogens navn er pakkens navn, og alle.java-filene må starte med: package <katalognavn>; * Hver fil kan gjerne inneholde flere klasser, men hver fil kan bare ha en klasse som er synlig utenfra (public). * Navnet på denne synlige klassen må også være navnet på filen. * Fra en fil til en annen i samme pakke kan man imidlertid få tak i alle klasser, metoder og variable (unntatt når disse er deklarert private). Eksempel: Pakken Javagently starter slik: package javagently; import java.io.*; import java.util.*; import java.text.*; public class Text {.. IN105-javainnogut-5

6 Pakkestruktur snidil: java>mkdir myutilities snidil: java>cd myutilities/ snidil: myutilities>copy ~in105/javapakker/myutilities/*.java. snidil: myutilities>ls -l -rw steing 1392 Feb 15 14:16 Dates.java -rw steing 626 Feb 15 14:16 FileMan.java -rw steing 1800 Feb 15 14:16 List.java -rw steing 696 Feb 15 14:16 Sort.java -rw steing 95 Feb 15 14:16 Sortable.java snidil: myutilities> katalogen myutilities Filen Dates.java package myutilities; Filen FileMan.java package myutilities; Filen Sortable.java package myutilities; class Dates { class FileMan { open ( ). interface Sortable { IN105-javainnogut-6

7 Om pakken javagently og klassen Stream Pakken javagently med klassene Text og Stream er skrevet av J. Bishop for å forenkle programmeringen av datainn og dataut Text innholder utelukkende klassemetoder den er altså en verktøykiste det er ikke meningen å lage objekter fra den. Stream har de samme metodene, men knyttet til objekter som kontrollerer datastrømmer Klassene ligger i en pakke kalt javagently som må importeres Pakken må den ligge i en "Classpath" en måte å fortelle Java hvor den skal lete etter klasser. Dette kan gjøres på tre ulike måter: o Legge pakken i samme mappe som programmene o Opprette en mappe classes under mappen jdk1.2 og legge pakken der mappen classes ligger nemlig i Java standard Classpath o Legge pakken i nivået over arbeidsnivået og legge til en Classpath dit jfr s.124. Krever kunnskap om operativsystem-kommandoen SET IN105-javainnogut-7

8 Klassen javagently.stream For å forenkle lesing og skriving har Judy Bishop laget en class Stream som behandler innlesing og utskrift fra fil og tastatur/skjerm: Stream String readstring (...) Stream minskjerm= new Stream ( System.in ) ; int readint (...) String streng = minskjerm.readstring ( ); class Stream { Stream ( InputStream in ) {... Stream ( String filename, int why ) {... public double readdouble ( ) {. public int readint ( ) {. public char readchar ( ) {. public String readstring (...) {.. char readchar (...) double readdouble (...) Klassen Stream leser tekstbiter (engelsk: items) eller tall som er adskilt med blank, tabulator, linjeskift. IN105-javainnogut-8

9 Bruk av javagently.stream import java.io.*; import javagently.*; class Hilsen { public static void main ( String [ ] args ) throws IOException { new Hilsen ( ); Hilsen ( ) throws IOException { Stream tastatur = new Stream (System.in); System.out.println("Hva heter du?"); String navn = tastatur.readstring( ); System.out.println("God dag, " + navn ); Greetings tastatur navn Stream String readline( ) String readstring ( ) snidil:>javac Hilsen.java snidil:>java Hilsen Hva heter du? Pierre Godefroy God dag, Pierre snidil:> IN105-javainnogut-9

10 Summering av tall fra tastaturet import java.io.*; import Stream; class SumTast { public static void main (String [] args) throws IOException { new SumTast ( ); SumTast ( ) throws IOException { Stream tastatur = new Stream (System.in); int nyttall = 1; int sum = 0; int tel; System.out.println("Tast inn noen tall, avslutt med 0: "); for (tel = 0; nyttall!= 0 ; tel ++) { nyttall = tastatur.readint( ); sum += nyttall; // end for-løkke System.out.println("Du skrev " + tel + " tall."); System.out.println("Summen av tallene er: " + sum); SumTast tastatur tel sum nyttall Stream snidil: >javac SumTast.java snidil: >java SumTast Tast inn noen tall, avslutt med 0: Du skrev 8 tall. Summen av tallene er: 610 snidil: java> IN105-javainnogut-10

11 Lesing og skriving på filer på disk (platelager) CPU Her regner maskinen Databuss Her flyttes data og program fram og tilbake Primærlager Lokalnett Her lagres program og data under kjøring Disk Her lagres program, oversatte programmer og data permanent (på filer) IN105-javainnogut-11

12 Innlesing fra fil Først må vi lage en forbindelse med filen, det gjør vi med enten innfil Stream BufferedReader innfil = new BufferedReader (new FileReader ( minfil.txt )); eller: Dette objektet leser fra filen minfil.txt Stream innfil = new Stream( minfil.txt, Stream.READ); I det siste tilfellet kan vi bruke filen på samme måte som vi leste data fra tastaturet: double dtall; String tekst; dtall = innfil.readdouble( ); tekst = innfil.readstring( ); minfil.txt Forelesning tekst dtall IN105-javainnogut-12

13 import java.io.*; import Stream; class SumFil { public static void main (String [] args) throws IOException { new SumFil ( ) ; SumFil ( ) throws IOException { int resultat = 0, tall; Stream innfil = new Stream ( "minfil.txt", Stream.READ ); for (int tel = 1; tel<= 15 ; tel ++) { tall = innfil.readint( ); resultat += tall ; // end for-løkke System.out.println("Summen er " + resultat); // end SumFil snidil: java>javac SumFil.java snidil: java>java SumFil Summen er snidil: java> Innlesing fra fil Filen minfil.txt (laget f.eks. med emacs) SumFil innfil tall resultat Stream Dette objektet leser fra filen minfil.txt IN105-javainnogut-13

14 Innlesing fra fil med antall import java.io.*; import Stream; class SumFil2 { public static void main (String [] args) throws IOException { new SumFil2 ( ) ; SumFil2 ( ) throws IOException { int resultat = 0, tall; Stream innfil = new Stream ( "lengdefil.txt", Stream.READ ); int antall = innfil.readint( ); for (int tel = 1; tel<= antall ; tel ++) { tall = innfil.readint( ); resultat += tall ; // slutt for-løkke System.out.println("Summen er " + resultat); // slutt SumFil2 snidil: >javac SumFil2.java snidil: >java SumFil2 Summen er snidil: > Institutt for informatikk - høsten Stein 2000 Gjessing SumFil2 innfil antall tall resultat Stream Dette objektet leser fra filen lengdefil.txt IN105-javainnogut-14

15 PrintWriter utfil = new PrintWriter (new FileWriter ( minutfil.txt )); eller: Utskrift til fil SkrivFil utfil Stream Stream utfil = new Stream ( minutfil.txt, Stream.WRITE); void println() // Utskrift skjer som til skjerm: utfil.println( utskrift + 17 ); For at innholdet på den nye filen skal bevares må vi til slutt si: Dette objektet skriver på filen minutfil.txt minutfil.txt utfil.close( ); IN105-javainnogut-15

16 Utskrift til fil - eksempel import java.io.*; import Stream; class InnUt { public static void main (String [] args) throws IOException { new InnUt ( ) ; InnUt ( ) throws IOException { String tekst1, tekst2; Stream tastatur = new Stream (System.in); Stream filut = new Stream ("minutfil.txt", Stream.WRITE ); System.out.print("Fornavn: "); tekst1= tastatur.readstring( ); System.out.print("Etternavn: "); tekst2= tastatur.readstring( ); filut.println("navn: " + tekst1 + " " + tekst2); System.out.print("Gatenavn: "); tekst1= tastatur.readstring( ); System.out.print("Gatenummer: "); tekst2= tastatur.readstring( ); filut.println("adresse: "+ tekst1 + " " + tekst2); System.out.print("Postnummer: "); tekst1= tastatur.readstring( ); System.out.print("Poststed: "); tekst2= tastatur.readstring( ); filut.println("poststed: "+ tekst1 + " " + tekst2); filut.close( ); System. out.println("er skrevet på \"minutfil.txt\""); filut minutfil.txt Dette objektet skriver på filen minutfil.txt Navn: Per Petersen Adresse: Solhellinga 12 Poststed: 4990 Søndeled snidil: java>java InnUt Fornavn: Per Etternavn: Petersen Gatenavn: Solhellinga Gatenummer: 12 Postnummer: 4990 Poststed: Søndeled er skrevet på "minutfil.txt" snidil: java> IN105-javainnogut-16

17 Lesemetoder i klassen Stream Stream tastatur = new Stream ( System.in ); int tall; tall = tastatur.readint( ); Metoden readint vil returnere et heltall ved å gjøre en tekst ("token") om til et heltall ved hjelp av klassen Integer:.. return( Integer.parseInt( tekst ) ); Klassen Double har en metode som tilsvarer parseint. Men Stream har foreløpig ikke fått med seg det. Stream double readdouble (...) int readint (...) char readchar (...) String readstring (...) Derfor må metoden readdouble i Stream ta en tekst som tilsvarer et reelt tall og gjøre det om til et reelt tall: return Double.valueOf( tekst.trim( )).doublevalue( ); IN105-javainnogut-17

18 Innmaten i Stream Generell algoritme for lesemetodene J a Is the tokenizer empty? yes Print an error-message no Read in a line Create a tokenizer for it Invalid number Get the next token Convert it to an integer No more tokens return IN105-javainnogut-18

19 streamobjekt.readint ( ) private StringTokenizer T; private String S; public int readint ( ) throws IOException { if ( T==null ) refresh ( ); while (true) { try { return Integer.parseInt(T.nextToken( ) ); catch (NoSuchElementException e1 ) { refresh ( ); catch ( NumberFormatException e2 ) { Integer System.out.println ( "Error in number, try again." ); private void refresh ( ) throws IOException { S = in.readline ( ); if ( S==null ) throw new EOFException( ); T = new StringTokenizer ( S ); parseint <og så hvis feil:> throw new NumberFormatException( );... IN105-javainnogut-19

20 ... Ledetekster Stream tastatur = new Stream ( System.in ); System.out.print("Skriv inn navnet ditt : " ); System.out.flush(); String navn = tastatur.readline ( );... System.out.flush( ); void ledetekst ( String tekst) { System.out.print ( tekst + " : "); System.out.flush ( );... ledetekst ( "Skriv inn navnet ditt"); sikrer at ut-bufferens innhold skrives ut med øyeblikkelig virkning. Skriv inn navnet ditt : John Coltrane IN105-javainnogut-20

21 Stream.format ( ) - heltall int i = 9, j = 25, k = 3456; utfil.println ( Stream.format ( i, 10 ) ); utfil.println ( Stream.format ( j, 10 ) ); utfil.println ( Stream.format ( k, 10 ) ); resulterer i : IN105-javainnogut-21

22 Stream.format ( ) - desimaltall double r = 3, s = 43.14, t = , u = 0.999; utfil.println ( Stream.format ( r, 10, 2 ) ); utfil.println ( Stream.format ( s, 10, 2 ) ); utfil.println ( Stream.format ( t, 10, 2 ) ); utfil.println ( Stream.format ( u, 10, 2 ) ); resulterer i 3,00 43,14 233,57 1,00 Hvordan unngå ? IN105-javainnogut-22

23 Stream.format ( ) - for trang plass int i = 9, j = 25, k = 3456; utfil.println ( Stream.format ( i, 3 ) ); utfil.println ( Stream.format ( j, 3 ) ); utfil.println ( Stream.format ( k, 3 ) ); resulterer i: Husk å sette av plass til eventuelt fortegn! IN105-javainnogut-23

24 Unntak ved lesing og skriving - Filen fins ikke (FileNotFoundException) - Det er slutt på filen (EOFException) - Andre feil. Disken er full! (IOException) IN105-javainnogut-24

25 Hvordan håndtere unntakene? Stream innfil; try { innfil = new Stream ("minedata.txt", Stream.READ ); while ( true ) { // løkka brytes ved unntak String linje = innfil.readline ( ); catch ( FileNotFoundException e ) { System.out.println ("Obs, filen manglet!"); catch ( EOFException e ) { System.out.println ( "Vi leste hele filen."); catch ( IOException e ) { System.out.println ( "Hva skjedde? Jo,dette : " + e ); System.out.println ( e.message ( ) ); IN105-javainnogut-25

26 Finn gjennomsnitt import java.io.*; import javagently.*; //Gsnitt1.java... throws IOException { Stream tastatur = new Stream ( System.in ); int nyttall = 1, tel, sum; double gjennomsnitt; System.out.print ( Tast inn noen tall, avslutt med 0: ); for (tel = 0; nyttall!= 0 ; tel ++) { nyttall = tastatur.readint ( ); sum += nyttall; tel --; if (tel > 0) gjennomsnitt = (double) sum / tel; else gjennomsnitt = 0; System.out.println( Du skrev + tel + tall. ); System.out.println( Gjennomsnittet er: + gjennomsnitt ); GjsnittTast tastatur tel sum nyttall gjennomsnitt Stream int readint ( ) Dette objektet leser fra tastaturet IN105-javainnogut-26

27 Finn gjennomsnitt - 2 import java.io.*; import javagently.*; // Gsnitt2.java... throws IOException { Stream tastatur = new Stream ( System.in ); int nyttall, sum = 0, tel; double gjennomsnitt; boolean fortsett = true; System.out.print ( Tast inn noen tall, avslutt med 0: ); for ( tel = -1; fortsett ; tel ++) { nyttall = tastatur.readint ( ); if ( nyttall == 0 ) { fortsett = false; else { sum += nyttall; / if (tel > 0) gjennomsnitt = (double) sum / tel; else gjennomsnitt = 0; System.out.println( Du skrev + tel + tall. ); System.out.println( Gjennomsnittet er: + gjennomsnitt ); navn: fortsett type: boolean snidil: >javac Gsnitt2.java snidil: >java Gjsnitt2 Tast inn noen tall, avslutt med 0: Du skrev 5 tall. Gjennomsnitter er: snidil: > Her er en variant av det samme programmet. Se på de små forskjellene. Legg spesielt merke til hvordan vi bruker en logisk variabel til å kontrollere når vi skal stoppe repetisjonen: IN105-javainnogut-27

28 Finn største tall import java.io.*; import javagently.*;// HighestValue.java... throws IOException { Stream in = new Stream ( System.in ); System.out.println ( "** Finding the highest number **" ); System.out.println ( "How many numbers (1 or more)?" ); int n = in.readint ( ); System.out.println("Type them in"); System.out.print ( "1> " ); int highest = in.readint ( ); int number; for (int i = 2; i <= n; i++) { System.out.print ( i + > ); number = in.readint ( ); if (number > highest) { highest = number; System.out.println("That's enough, thanks"); System.out.println("The highest number was +highest); highest number Variablen highest inneholder høyeste verdi til nå snidil: >javac HighestValue.java snidil: >java HighestValue ** Finding the highest number ** How many numbers (1 or more)? 4 Type them in 1> 234 2> > fem Error in number, try again. 5 4> 2463 That's enough, thanks The highest number was 6321 snidil: > IN105-javainnogut-28

29 import java.io.*; //Summation3, JG s.108 import javagently.*;...throws IOException { Stream in = new Stream ( System.in ); int count; double total = 0, postotal = 0, negtotal = 0, number; System.out.print ( "How many numbers?" ); count = in.readint ( ); for (int i = 1; i <= count; i++) { System.out.println ( i+">" ); number = in.readdouble( ); total = total + number; if ( number > 0 ) { postotal += number; System.out.println ( Positivt tall ); else { negtotal += number; System.out.println ( Negativt tall ); // end if // end for Tre summer Øving: Rett programmet slik at det ikke skriver at null er et negativt (eller et positivt) tall snidil: >javac Summation3.java snidil: >java Summation3 How many numbers? 6 1> 34 Positivt tall 2> 56 Positivt tall 3> -2 Negativt tall 4> 0 Negativt tall 5> 34 Positivt tall 6> -23 Negativt tall That's enough, thanks. The total is 99.0 The pos. total is The neg. total is snidil: > System.out.println("That's enough, thanks."); System.out.println("The total is " + total); System.out.println("The pos. total is " +postotal); System.out.println("The neg. total is " +negtotal); IN105-javainnogut-29

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : IN 105 Eksamensdag : Mandag 7. juni 1999 Tid for eksamen : 09.00-15.00 Oppgavesettet er på : 6 sider (inkludert vedlegg) Vedlegg

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

"Nelsons kaffebutikk"

Nelsons kaffebutikk "Nelsons kaffebutikk" et eksempel på systemutvikling med objekter Originale lysark av Jens Kaasbøll - mindre endringer av G. Skagestein og Knut Hegna IN105-javaNelson-1 Nelsons kaffebutikk Området som

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

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

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

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

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 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

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

Å 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

22.02.2009. Spørsmål fra forrige forelesning. INF1000 Forelesning 7. Oppførselen til inword()/inint()/etc. Operator-presedens i Java

22.02.2009. Spørsmål fra forrige forelesning. INF1000 Forelesning 7. Oppførselen til inword()/inint()/etc. Operator-presedens i Java Spørsmål fra forrige forelesning INF1000 Forelesning 7 Operator-presedens i Java? Hvordan virker metodene inword()/inint()/etc. i In-klassen i easyio når vi skriver inn flere verdier på tastaturet? Litt

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

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

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

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

IN-OO1-EVU Dag 3. Stein Gjessing. Kapittel 4: I/O, if og unntak (exceptions) Kapittel 5: While, switch, mer I/O Kapittel 6: Mengder av objekter

IN-OO1-EVU Dag 3. Stein Gjessing. Kapittel 4: I/O, if og unntak (exceptions) Kapittel 5: While, switch, mer I/O Kapittel 6: Mengder av objekter IN-OO1-EVU Dag 3 Stein Gjessing Litt repetisjon Kapittel 4: I/O, if og unntak (exceptions) Kapittel 5: While, switch, mer I/O Kapittel 6: Mengder av objekter Kapittel 7: Tekster Materiale også lånt av

Detaljer

Oversikt. Array indeks utenfor sine grenser. Feil i programmet hva skjer?

Oversikt. 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

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

INF Notat om I/O i Java

INF 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

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

IN105-javaNelson-2. array, evt. flere dimensjoner. Institutt for informatikk Jens Kaasbøll sept. 1999. En funksjon om gangen En klasse om gangen

IN105-javaNelson-2. array, evt. flere dimensjoner. Institutt for informatikk Jens Kaasbøll sept. 1999. En funksjon om gangen En klasse om gangen "Nelsons affebuti" et esempel på systemutviling med objeter Originale lysar av Jens Kaasbøll - mindre endringer av G. Sagestein og Knut Hegna IN5-javaNelson- Analyse Lageradministrasjon (inventory) Mange

Detaljer

INF1000-SIKT - Notat om I/O i Java

INF1000-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.........................

Detaljer

Stein Gjessing 11. nov IN-OO1-EVU Dag 3. Stein Gjessing

Stein Gjessing 11. nov IN-OO1-EVU Dag 3. Stein Gjessing IN-OO1-EVU Dag 3 Stein Gjessing Litt repetisjon Kapittel 4: I/O, if og unntak (exceptions) Kapittel 5: While, switch, mer I/O Kapittel 6: Mengder av objekter Materiale også lånt av Arne Maus og Jens Kaasbøl

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

Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2

Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2 Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2 11.2 Korteste vei i en graf 11.2.1 Dijkstras metode En graf er et system med noder og kanter mellom noder. Grafen kalles rettet Notasjon Verdien

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

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

Bruk 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

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 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

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

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert. Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen

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

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

Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen Forkurs INF1010 Dag 1 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Tuva Kristine Thoresen (tuvakt@ifi.uio.no) Institutt for Informatikk, 6. januar 2014 Forkurs INF1010 - dag 1 Hello, World! Typer Input/output

Detaljer

Leksjon 7. Filer og unntak

Leksjon 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)

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

Repetisjon. INF1000 - gruppe 13

Repetisjon. 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

Detaljer

INF2100. Oppgaver 26. september til 1. oktober 2007

INF2100. Oppgaver 26. september til 1. oktober 2007 INF2100 Oppgaver 26. september til 1. oktober 2007 1 Språket Denne uken skal vi implementere en utvidelse av språket fra forrige ukes oppgave. Syntaksen er vist i figur 1 på neste side og betydning er

Detaljer

INF1010 våren Arv og subklasser del 1 (pluss litt I/O og unntaksbehandling)

INF1010 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

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

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

Fra 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

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

Oversikt. INF1000 Uke 3. Repetisjon Program. Repetisjon Program. Litt repetisjon Program Variabler og Uttrykk Presedens Matematiske funksjoner

Oversikt. INF1000 Uke 3. Repetisjon Program. Repetisjon Program. Litt repetisjon Program Variabler og Uttrykk Presedens Matematiske funksjoner Oversikt INF1000 Uke 3 Innlesing fra terminal, formatert utskrift og forgreininger Litt repetisjon Program Variabler og Uttrykk Presedens Matematiske funksjoner Innlesing Formatert utskrift Repetisjon

Detaljer

Kapittel 12: Filer og strømmer INF 100. Java som første programmeringsspråk

Kapittel 12: Filer og strømmer INF 100. Java som første programmeringsspråk Kapittel 12: Filer og strømmer Forelesningsnotater for: INF 100 Java som første programmeringsspråk Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag, 2003. ISBN 82-02-23274-0

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

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

INF1010 våren 2016. Arv og subklasser - del 2

INF1010 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

Detaljer

Forklaring til programmet FilTest.java

Forklaring til programmet FilTest.java Forklaring til programmet FilTest.java Programmet FilTest.java illustrerer lesing fra fil og skriving til fil, samt hvordan man kan legge data fra filen inn i en ArrayList. Man kunne også ha brukt et vanlig

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

INF1000 (Uke 6) Mer om metoder, tekster

INF1000 (Uke 6) Mer om metoder, tekster INF1000 (Uke 6) Mer om metoder, tekster Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset Rep: Metoder Java-programmene så langt

Detaljer

Kapittel 14: Filer og strømmer. Kort versjon

Kapittel 14: Filer og strømmer. Kort versjon Kapittel 14: Filer og strømmer 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

Løsningsforslag ukeoppg. 3: sep (INF Høst 2011)

Løsningsforslag ukeoppg. 3: sep (INF Høst 2011) Løsningsforslag ukeoppg. 3: 7. - 13. sep (INF1000 - Høst 2011) Utskrift/ lesing med easyio, arrayer, løkker (kapittel 3-4 i læreboka, "Rett på Java" 3. utg.) NB! Legg merke til at disse er løsningsforslag.

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

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

Rep: Metoder. INF1000 (Uke 6) Mer om metoder, tekster. Rep: Metoder. 3 typer variable: Klassevariable. Java-programmene så langt i kurset:

Rep: Metoder. INF1000 (Uke 6) Mer om metoder, tekster. Rep: Metoder. 3 typer variable: Klassevariable. Java-programmene så langt i kurset: INF1000 (Uke 6) Mer om metoder, tekster Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Rep: Metoder Java-programmene så langt i kurset: består av en enkelt klasse i klassen kan

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

UNIVERSITETET I OSLO

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

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

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

Bruk av class Scanner, split(), FileWriter og Formatter som alternativ til easyio i INF1000. Arne Maus, ver.2.3, oktober, 2013 Bruk av class, split(), FileWriter og Formatter som alternativ til i INF1000. Noen ønsker å bruke noen av de klassene vi finner i pakken java.util og java.io isteden for

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

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

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller. Dagens forelesning Java 13 Design av større programmer : fordeling av roller INF 101-13. mars 2003 Flere eksempler på bruk av objekter MVC-prinsippet MVC-prinsippet Flere eksempler på programmer med objekter

Detaljer

INF2100. Oppgaver 23. og 24. september 2010

INF2100. Oppgaver 23. og 24. september 2010 INF2100 Oppgaver 23. og 24. september 2010 Oppgave 1 Vi skal se på et meget enkelt språk E som består av uttrykk med + og ; grammatikken ser du i figur 1 på neste side. Tallkonstanter består av bare ett

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

INF1000 Uke 5. Litt om objekter, filer med easyio, tekst

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

Detaljer

Mer om uttrykk, terminal I/O, forgreninger. Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo

Mer om uttrykk, terminal I/O, forgreninger. Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B. Kristoffersen I dag Litt repetisjon Mer om

Detaljer

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Litt mer om løkker, metoder med returverdier og innlesing fra fil INF1000, uke4 Geir Kjetil Sandve Repetisjon fra forrige uke: while Syntaks: while (condition) do1; do2;... Eksempel:

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

Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011)

Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011) Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011) HashMap, innstikksortering, javadoc (kap. 9.1-9.11, m.m. i "Rett på Java" 3. utg.) NB! Legg merke til at disse er løsningsforslag. Løsningene

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

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 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 =

Detaljer

INF1000 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 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

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

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.

Detaljer

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

Forkurs INF1010. Dag 3. Andreas Færøvig Olsen Eivind Storm Aarnæs Forkurs INF1010 Dag 3 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Eivind Storm Aarnæs (eivinsaa@math.uio.no) Institutt for Informatikk, 14. januar 2015 Forkurs INF1010 - dag 3 Strenger Fil-I/O Unntakshåndtering

Detaljer

Løsningsforslag Test 2

Løsningsforslag Test 2 Løsningsforslag Test 2 Oppgave 1.1: Interface definerer et grensesnitt som kan implementeres av flere klasser. Dette gir en standardisert måte å kommunisere med objekter av en eller flere relaterte klasser.

Detaljer

Dagens tema: Kompilatorens struktur. De ulike modulene Prosjektet. Oppbyggingen Pakker i Java Avbrudd («exceptions») Enum-klasser i Java

Dagens tema: Kompilatorens struktur. De ulike modulene Prosjektet. Oppbyggingen Pakker i Java Avbrudd («exceptions») Enum-klasser i Java Dagens tema: Kompilatorens struktur Oppbyggingen Pakker i Java Avbrudd («exceptions») Enum-klasser i Java De ulike modulene Prosjektet Hva skal del-0 gjøre? Feilmeldinger Testutskrifter Siste råd og påbud

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

Java 6. Eksempel med to-dimensjonal array Filbehandling Tekster

Java 6. Eksempel med to-dimensjonal array Filbehandling Tekster Java 6 Eksempel med to-dimensjonal array Filbehandling Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo 1 Ta inn og ut av 2D-array Vi skal lage

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

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

Blokker og metoder INF1000 (Uke 6) Metoder

Blokker og metoder INF1000 (Uke 6) Metoder Blokker og metoder INF1000 (Uke 6) Metoder Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Are Magnus Bruaset og Arild Waaler En blokk er en samling instruksjoner omgitt av krøllparenteser:

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

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

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

EKSAMEN I INF244: OBJEKTORIENTERT PROGRAMVAREUTVIKLING I BACHELORSTUDIET I IT OG INFORMASJONSSYSTEMER BACHELORSTUDIET I IT OG ENTREPRENØRSKAP

EKSAMEN I INF244: OBJEKTORIENTERT PROGRAMVAREUTVIKLING I BACHELORSTUDIET I IT OG INFORMASJONSSYSTEMER BACHELORSTUDIET I IT OG ENTREPRENØRSKAP Høgskolen i Buskerud Avdeling for økonomi og samfunnsvitenskap 3502 Hønefoss EKSAMEN I INF244: OBJEKTORIENTERT PROGRAMVAREUTVIKLING I BACHELORSTUDIET I IT OG INFORMASJONSSYSTEMER BACHELORSTUDIET I IT OG

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

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

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

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

Løsningsforslag ukeoppg. 2: 31. aug - 6. sep (INF Høst 2011)

Løsningsforslag ukeoppg. 2: 31. aug - 6. sep (INF Høst 2011) Løsningsforslag ukeoppg. 2: 31. aug - 6. sep (INF1000 - Høst 2011) Variabler, uttrykk, fogreninger (if-else) (kapittel 2 og 4.1-4.2 i læreboka, "Rett på Java" 3. utg.) Mål Få trening i teorien du trenger

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Onsdag 4. juni 2014 Tid for eksamen: 9:00-15:00 Oppgavesettet er på

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

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

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java

Innhold 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:

Detaljer

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

INF1010 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)

Detaljer

INF1010 våren januar. Objektorientering i Java

INF1010 våren januar. Objektorientering i Java INF1010 våren 2017 25. januar Objektorientering i Java Om enhetstesting (Repetisjon av INF1000 og lær deg Java for INF1001 og INF1100) Stein Gjessing Hva er objektorientert programmering? F.eks: En sort

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

Oblig 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 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

Detaljer

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

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I Universitetet i Bergen Det matematisk naturvitenskapelige fakultet Institutt for informatikk Side 1 av 6 Bokmål Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert

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