INF 1010, vår 2005 Løsningsforslag uke 10
|
|
- Eivind Helle
- 7 år siden
- Visninger:
Transkript
1 INF 1010, vår 2005 Løsningsforslag uke 10 Anders Brunland 1. april 2005 Oppgave 1 Oppgave 15.4 i i Rett på Java. Løsningsforslag De forskjellige komponentene settes i metoden initcomponents. Her settes også lyttere til de to knappene. Det gjøres med anonyme klasser. En anonym klasse er en klasse som ikke har noe navn. Det vil si at objektet lages samtidig med at klassen deklareres. Konstruksjonen ser slik ut: new AbstractAction () { lesfil (); Her lages det en klasse som er en subklasse av den abstrakte klassen AbstractAction. AbstractAction-klassen har en abstrakt metode som må overskrives, nemlig metoden actionperfomed. Det gjøres i den anonyme klassen hvor metoden inneholder et kall videre til lesfil-metoden. Objektet lages (som vanlig) ved å bruke nøkkelorden new. Hele konstruksjonen over sendes som en parameter til addactionlistener-metoden til den aktuelle knappen. Dermed blir koden slik: lesfilknapp. addactionlistener ( new AbstractAction () { lesfil (); ); Programmet er listet i avsnitt A.1. Oppgave 2 Ta utgangspunkt i ko- Jobbing videre med frihåndstegne-programmet den MuseDemo.java og legg til følgende forbedringer: 1
2 Generell organisasjon av programmet Før jeg viser hvordan de enkelte delene i oppgaven er løst, vil jeg vise hvordan programmet er organisert. Programmet består av to klasser: Tegner og Tegnelerret (listet i avsnitt A.2 og A.3). Figur 1 viser programmet under kjøring. Figur 1: Skjermdump av Tegneprogrammet Klassen Tegnelerret er en subklasse av JPanel. Tegnelerrettet er i stand til å oppfatte hendelsen at en knapp på musa holdes nede, og at musa beveges. Når dette skjer, lagres posisjonen til musa i to arrayer, xpos og ypos, og en teller som angir antall punkter økes. Deretter kalles det på metoden repaint. Dette metodekallet er et signal til systemet om at det skal tegne opp komponenten på nytt. Systemet kaller da på metoden paintcomponent og sender med et objekt av typen Graphics, som representerer flaten det skal tegnes på. I Tegnlerret-klassen er paintcomponent-metoden overskrevet. Her går jeg igjennom alle koordinatene, og tegner strek mellom disse. Klassen Tegner er en subklasse av JFrame, og utgjør kontrolldelen av programmet. Tegnlerretklassen legges inn i CENTER-delen av JFramen. Knapper legges i en rekke til venstre (de samles i et eget JPanel som legges i WEST). Hver knapp har en egen anonym lytteklasse. Når brukeren for eksempel trykker på knappen for å slette tegningen (knappen merket clr ), kalles det på en metode (clear) på tegnelerretet. Figur 2 på neste side viser et forenklet klassediagram. Det opprinnelige programmet inneholder en bug hvis man tegner lenge nok, blir arrayene som holder på koordinatene fulle. Jeg har derfor lagt inn en metode som dobler størrelsen på arrayene når disse blir fulle. 2
3 JFrame JPanel Registrerer brukerens valg (via knapper) og oppdaterer attributtene i tegnlerretet. Eksempel på attributter som oppdateres er farge og tykkelse. Tegner Tegnelerret JButton Knapp Ansvar for tegningen. Registrerer musas bevegelser over komponenten, oppdaterer koordinatene og (via kall på repaint) tegner streker mellom koordinatene. Figur 2: Forenklet klassediagram for tegneprogrammet 3
4 a) Gjør det mulig å tegne flere uavhengigige streker (ikke bare en lang strek) Hint: du bør oppdage når noen slipper museknappen (du må implementere nok et grensesnitt) og da sette inn 0 i x- og y-arrayen for å signalisere slutt på et linjesegnent og begynnelse på neste. Samtidig i utttegningen må du aldri tegne hverken til eller fra verdien 0. Får du ikke til dette - se filen: Muse2Demo.java Løsningsforslag To endringer må til. I tillegg til å lytte på musebevegelser, må vi lytte på knappene på musa. Grensesnittet vi må implementere for dette heter MouseListener, og inneholder fem metoder. I midlertid er vi kun interessert i en av metodene, nemlig den som kalles når en museknapp slippes opp. I stedet for å implementere grensesnittet (og alle fem metodene) velger jeg derfor å lage lytteklassen som en subklasse av den abstrakte klassen MouseAdapter. MouseAdapter er en hjelpeklasse som gir en tom definisjon av alle metodene i MouseListenergrensesnittet. For eksempel er metoden mouseclicked implementert slik: public void mouseclicked ( MouseEvent e) { Fordelen med dette, er at jeg da kun trenger å skrive over den metoden jeg er interessert i, nemlig mousereleased: public void mousereleased ( MouseEvent e) { xpos [ ant ] = Integer. MIN_VALUE ; ypos [ ant ] = Integer. MIN_VALUE ; ant ++; Legg merke til at jeg bruker verdien Integer.MIN_VALUE som signal på at jeg ikke skal tegne en strek. I tegnemetoden sjekker jeg nå om det skal tegnes en strek mellom et punkt og forrige, ved ganske enkelt å teste mot verdien over i for-løkka som løper gjennom alle punktene: for ( int i = 1; i < ant ; i ++) { if ( xpos [i] > Integer. MIN_VALUE ) { g. drawline ( xpos [i - 1], ypos [i - 1], xpos [i], ypos [i ]); else { i ++; Legg merke til at hvis jeg ikke skal bruke punktet (dvs. at if-testen ikke slår til) økes verdien på i med to før neste iterasjon; én i else-grenen, og én som en del av forløkka. Effekten er at punktet hoppes over ved tegning. b) Legg farge på linjene. Hint: Innfør nok en array som hele tiden holder rede på hvilken fage et linjesegnemt har (se hvordag du setter farge i class Graphics i java-dok en). Du må selvsagt ogå innføre noen trykksnapper slik at brukeren kan velge farge ved f.eks å trykke på Rødknappen. 4
5 Løsningsforslag Jeg oppretter en array til som holder fargen for et gitt punkt. Metoden for å sette farge det skal tegnes med heter setcolor. For-løkka som gjør tegningen blir dermed slik: for ( int i = 1; i < ant ; i ++) { if ( xpos [i] > Integer. MIN_VALUE ) { g. setcolor ( farge[i ]); g. drawline ( xpos [i - 1], ypos [i - 1], xpos [i], ypos [i ]); else { i ++; c) Som b) men nå valg av tynnere eller tykkere linje.. Løsningsforslag Innfører en array til, som skal holde orden på tykkelsen til en gitt strek. En global variabel tykkelse økes eller minskes avhengig av hvilken knapp brukeren trykker. For å tegne en tykkere strek, bruker jeg metoden setstroke, som finnes i graphics-objektet. Dvs. - det finnes i et objekt av typen Graphics2D, som er en subklasse av Graphics. Objektet som blir sendt til paintcomponent-metoden har en metode som returnerer et nytt graphics-objekt (metoden create). Dette objektet kan omtypes ( castes ) til et Graphics2D objekt. I tillegg flytter jeg tegningen til en egen metode. De to metodene (paintcomponent og tegn blir slik: public void paintcomponent ( Graphics g) { super. paintcomponent (g ); Graphics2D g2d = ( Graphics2D ) g. create (); for ( int i =1; i< ant ; i ++) { if ( xpos [i] > Integer. MIN_VALUE ) { g2d. setcolor ( farge [i ]); tegn (g2d, i ); else { i ++; g2d. dispose (); void tegn ( Graphics2D g, int i) { float tykkelse = tykk [ i] + 1; // minste mulige tykkelse på en // strek er 1. g. setstroke ( new BasicStroke ( tykkelse )); // setter tykkelsen int x1 = xpos [i -1], x2 = xpos [i], y1 = ypos [i -1], y2 = ypos [i]; g. drawline (x1, y1, x2, y2 ); 5
6 d) Viskelær. Ved å trykke på en knapp som du legger inn, skal brukeren kunne skru av og på viskelærfunksjonen. Når den er på, skal alle punkter som er inenfor en bestemt radius (eks 10 pkt) fra musa, settes = 0. Hele tida mens du visker, skal effekten framvises på skjermen. (Bruk selvsagt Pytagoras til å finne avstanden mellom musas nåværende posisjon og alle punktene) Løsningsforslag Her velger jeg en litt annen fremgangsmåte en den som er antydet i oppgaven. Jeg innfører en bolsk variabel visk, som settes til true når brukeren velger viskelær. I tillegg øker jeg tykkelsen for punktet til 16, og setter fargen til å være den samme som bakgrunsfargen. e) Lagring og innlesning fra en fil på en tegning (bruk f.eks en dialog til å be om filnavmet). Løsningsforslag En dialog (inputdialog) lar brukeren skrive inn filnavn. Deretter skrives/leses antall punkter, og for hvert punkt, en linje med x-posisjonen, en linje med y- posisjonen, en linje med fargen og en linje med tykkelsen. For lesing/skriving bruker jeg klassene InExp og OutExp, som er superklasser til hhv. In- og Outklassene. Dette gjøres fordi jeg ønsker å kunne fange opp eventuelle feil som kan oppstå. Et eksempel på en slik feil er at brukeren ved lesing fra fil oppgir en fil som ikke finnes. Hvis det skjer, kastes et såkalt unntak (eng: Exception), som jeg kan fange opp. Unntak er behandlet i kapittel 19 i Rett på Java. A Programlistinger A.1 Editor.java import javax. swing.*; import java. awt.*; import java. awt. event.*; import easyio.*; import java.io.*; class Editor extends JFrame { JPanel filvindu ; JLabel filtekstlabel ; JTextField filnavnfelt ; JButton lesfilknapp ; JTextArea tekstvindu ; JButton lagrefilknapp ; String filnavn ; Editor () { initcomponents (); 6
7 layoutcomponents (); setdefaultcloseoperation( JFrame. EXIT_ ON_ CLOSE ); pack (); setvisible ( true ); void initcomponents () { filvindu = new JPanel (); // default flowlayout filtekstlabel = new JLabel (" Filnavn :"); filnavnfelt = new JTextField ( 20); filtekstlabel. setlabelfor ( filnavnfelt ); lesfilknapp = new JButton (" Les fil "); lesfilknapp. addactionlistener ( new AbstractAction () { lesfil (); ); filvindu. add ( filtekstlabel ); filvindu. add ( filnavnfelt ); filvindu. add ( lesfilknapp ); tekstvindu = new JTextArea (40, 60); tekstvindu. seteditable ( true ); tekstvindu. setlinewrap ( true ); tekstvindu. setwrapstyleword ( true ); lagrefilknapp = new JButton (" Lagre fil "); lagrefilknapp. addactionlistener ( new AbstractAction () { skrivfil (); ); void layoutcomponents () { Container lerret = getcontentpane (); lerret. add ( filvindu, BorderLayout. NORTH ); JScrollPane sc = new JScrollPane ( tekstvindu ); lerret. add (sc, BorderLayout. CENTER ); lerret. add ( lagrefilknapp, BorderLayout. SOUTH ); void skrivfil () { OutExp out = null ; String tmpfilnavn = filnavnfelt. gettext (); if ( tmpfilnavn. equals ( filnavn )) { int fortsett = JOptionPane. showconfirmdialog (this, " Gammel fil blir overskrevet \ nfortsett?", 7
8 " Skriv til fil ", JOptionPane. YES_ NO_ OPTION ); if ( fortsett == JOptionPane. NO_ OPTION ) { return ; filnavn = tmpfilnavn ; try { out = new OutExp ( filnavn ); out. outln( tekstvindu. gettext ()); catch ( IOException ioe ) { JOptionPane. showmessagedialog ( this, " Uventet feil ved skriving til fil " ); finally { if ( out!= null ) { out. close (); JOptionPane. showmessagedialog ( this, " Fil lagret." ); void lesfil () { filnavn = filnavnfelt. gettext (); InExp in = null ; try { in = new InExp ( filnavn ); tekstvindu. settext (""); while (! in. endoffile ()) { tekstvindu. append (in. inline () + "\n"); catch ( FileNotFoundException fne ) { JOptionPane. showmessagedialog (this, " Fant ikke filen" ); catch ( IOException ioe ) { JOptionPane. showmessagedialog ( this, " Uventet feil ved lesing fra fil." ); public static void main ( String [] args ) { new Editor (); A.2 Tegner.java import javax. swing.*; 8
9 import java. awt.*; import java. awt. event.*; import easyio.*; import java.io.*; class Tegner extends JFrame { Tegnelerret lerret ; Tegner () { super (" Tegneprogram "); lerret = new Tegnelerret (); getcontentpane (). add ( lerret, BorderLayout. CENTER ); JButton clr = new JButton (" clr " ); clr. addactionlistener ( new AbstractAction () { lerret. clear (); ); JButton rød = new JButton (" rød " ); rød. addactionlistener ( new AbstractAction () { lerret. setcolor ( Color. red ); ); JButton grønn = new JButton (" grønn "); grønn. addactionlistener ( new AbstractAction () { lerret. setcolor ( Color. green ); ); JButton sort = new JButton (" sort " ); sort. addactionlistener ( new AbstractAction () { lerret. setcolor ( Color. black ); ); JButton tykk = new JButton (" tykkere "); tykk. addactionlistener ( new AbstractAction () { lerret. tykkere (); ); JButton tynn = new JButton (" tynn " ); tynn. addactionlistener ( new AbstractAction () { lerret. tynnere (); ); JButton visk = new JButton (" viskelær "); 9
10 visk. addactionlistener ( new AbstractAction () { lerret. visk (); ); JButton tilfil = new JButton (" lagre "); tilfil. addactionlistener ( new AbstractAction () { tilfil (); ); JButton frafil = new JButton (" åpne "); frafil. addactionlistener ( new AbstractAction () { frafil (); ); JPanel knapper = new JPanel ( new GridLayout (0, 1)); knapper. add ( clr ); knapper. add ( visk ); knapper. add ( sort ); knapper. add ( rød ); knapper. add ( grønn ); knapper. add ( tykk ); knapper. add ( tynn ); knapper. add ( tilfil ); knapper. add ( frafil ); getcontentpane (). add ( knapper, BorderLayout. WEST ); pack (); setlocation ( 200, 200); setdefaultcloseoperation( JFrame. DISPOSE_ ON_ CLOSE ); setvisible ( true ); void tilfil () { int ant = lerret. getant (); int [] x = lerret. getxpos (); int [] y = lerret. getypos (); Color [] c = lerret. getcolor (); int [] t = lerret. gettykkelse (); String filnavn = JOptionPane. showinputdialog ( this, " filnavn : " ); OutExp fil = null ; try { fil = new OutExp ( filnavn ); 10
11 fil. outln( ant ); for ( int i = 0; i < ant ; i ++) { fil. outln(x[i ]); fil. outln(y[i ]); fil. outln(c[i]. getrgb ()); fil. outln(t[i ]); catch ( FileNotFoundException fn) { JOptionPane. showmessagedialog ( this, " Fant ikke filen "); catch ( IOException e) { JOptionPane. showmessagedialog ( this, " Feil ved skriving til fil "); finally { if ( fil!= null ) { fil. close (); public void frafil () { String filnavn = JOptionPane. showinputdialog ( this, " filnavn : " ); InExp fil = null ; try { fil = new InExp ( filnavn ); int ant = fil. inint (); int [] x = new int [ ant ]; int [] y = new int [ ant ]; Color [] c = new Color [ ant ]; int [] t = new int [ ant ]; for ( int i = 0; i < ant ; i ++) { x[i] = fil. inint (); y[i] = fil. inint (); c[i] = new Color ( fil. inint ()); t[i] = fil. inint (); lerret. setant ( ant ); lerret. setxpos (x); lerret. setypos (y); lerret. setcolor (c); lerret. settykkelse (t); lerret. repaint (); catch ( FileNotFoundException fn) { JOptionPane. showmessagedialog ( this, " Fant ikke filen "); catch ( IOException e) { JOptionPane. showmessagedialog ( this, " Feil ved skriving til fil "); 11
12 public static void main ( String [] args ) { new Tegner (); A.3 Tegnelerret.java import java. awt.*; import java. awt. event.*; import javax. swing.*; class Tegnelerret extends JPanel { final int xdim = 300, ydim =300; // Default størrelse på lerret int size = 1024; int [] xpos, ypos ; int ant = 0; Color [] farge ; int [] tykk ; Color color = Color. black ; int tykkelse = 0; int gmltykkelse = 0; boolean visk = false; Tegnelerret () { super ( true ); // DubbelBufferet, gjør tegningen mer effektiv. doinit (); dolayout (xdim, ydim ); * Indre lytteklasse, fanger opp to hendelser : 1) Musa " dras ", og * at knappen slippes. class Lytter extends MouseAdapter implements MouseMotionListener { // MouseAdapter public void mousereleased ( MouseEvent e) { if ( ant == xpos. length ) { doublesize (); xpos [ ant ] = Integer. MIN_VALUE ; ypos [ ant ] = Integer. MIN_VALUE ; tykk [ ant ] = tykkelse ; farge [ ant ] = color ; ant ++; 12
13 // MouseMotionListener public void mousedragged ( MouseEvent e) { if ( ant == xpos. length ) { doublesize (); xpos [ ant ]= e. getx (); ypos [ ant ]= e. gety (); farge [ ant ] = color ; tykk [ ant ] = tykkelse ; ant ++; repaint (); // MouseMotionListener ( bryr meg ikke om denne hendelsen ) public void mousemoved ( MouseEvent e) {; /* * Initierer arrayene void doinit () { xpos = new int [ size ]; ypos = new int [ size ]; farge = new Color[ size ]; tykk = new int [ size ]; Lytter l = new Lytter (); // indre klasse. addmousemotionlistener( l); addmouselistener ( l ); * Setter størrelsen på lerretet void dolayout ( int xdim, int ydim ) { setpreferredsize ( new Dimension ( xdim, ydim )); * Sletter tegninen void clear () { ant = 0; repaint (); * Setter fargen som det skal tegnes med void setcolor ( Color c) { if ( visk ) { 13
14 tykkelse = gmltykkelse ; visk = false; color = c; * Øker tykkelsen på streken void tykkere () { tykkelse ++; * Minsker tykkelsen på streken void tynnere () { if ( tykkelse > 0) tykkelse --; * Setter tykkelsen opp, og setter fargen til den samme som * bakgrunnsfargen. Resultatet er at det blir et viskelær. void visk () { visk = true ; color = getbackground (); gmltykkelse = tykkelse ; tykkelse = 16; * Tegner opp strekene mellom koordinatene. Blir kalt av systemet * når det er behov for å tegne komponenten på nytt. Det skjer * enten når systemet finner ut at komponenten trenger å tegnes * opp ( for eksmpel etter at vinduet har blitt flyttet ), eller * etter at metoden repaint har blitt kalt. public void paintcomponent ( Graphics g) { super. paintcomponent ( g); Graphics2D g2d = ( Graphics2D ) g. create (); // Henter ut et // Graphics2D - objekt, // som inneholder // litt fler // metoder enn det // " trauste " // Graphics - objektet // ( bl.a. metoden // for å sette // tykkelsen på // streken. for ( int i =1; i< ant ; i ++) { if ( xpos [i] > Integer. MIN_VALUE ) { g2d. setcolor ( farge [i ]); 14
15 tegn (g2d, i); else { i ++; g2d. dispose (); // Dokumentasjonen anbefaler at man kaller // denne metoden til slutt for å frigjøre // resurser. * Metoden som tegner strek mellom to punkter. void tegn ( Graphics2D g, int i) { float tykkelse = tykk [ i] + 1; // minste mulige tykkelse på en // strek er 1. g. setstroke ( new BasicStroke ( tykkelse )); // setter tykkelsen int x1 = xpos [i -1], x2 = xpos [i], y1 = ypos [i -1], y2 = ypos [i ]; g. drawline (x1, y1, x2, y2 ); * Returnerer antall punkter int getant () { return ant ; * Setter antall punkter void setant ( int ant ) { this. ant = ant ; * Returnerer alle x- koordinatene int [] getxpos () { return xpos ; * Setter alle x- koordinatene void setxpos ( int [] x) { xpos = x; * Returnerer alle y- koordinatene 15
16 int [] getypos () { return ypos ; * Setter alle y- koordinatene void setypos ( int [] y) { ypos = y; * Returnerer alle farger som brukes for hvert punkt Color [] getcolor () { return farge ; * Setter alle farger som skal brukes for hvert punkt void setcolor ( Color [] c) { farge = c; * Returnerer tykkelsen for hvert punkt int [] gettykkelse () { return tykk ; * Setter tykkelsen for hvert punkt void settykkelse ( int [] t) { tykk = t; * Hjelpemetode som dobler størrelsen på arrayene void doublesize () { int nsize = 2 * xpos. length ; int [] nx = new int [ nsize ]; int [] ny = new int [ nsize ]; Color [] nf = new Color [ nsize ]; int [] nt = new int [ nsize ]; System. arraycopy ( xpos, 0, nx, 0, xpos. length ); System. arraycopy ( ypos, 0, ny, 0, ypos. length ); System. arraycopy ( farge, 0, nf, 0, farge. length ); System. arraycopy ( tykk, 0, nt, 0, tykk. length ); 16
17 xpos = nx ; ypos = ny ; farge = nf ; tykk = nt ; size = nsize ; 17
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
DetaljerINF1010 Grafisk brukergrensesni3 med Swing og awt del 1 INF1010
Grafisk brukergrensesni3 med Swing og awt del 1 GUI (Graphical User Interface)- programmering Hvordan lage et vindu på skjermen Hvordan legge ulike komponenter i vinduet (trykknapper, tekseelter, tekst,
DetaljerGrafisk Brukergrensesnitt
Grafisk Brukergrensesnitt Repetisjonskurs Hva må kunnes? JFrame JPanel JComponents Layouts Listeners jframe Representerer et vindu JComponents legges på vinduet Har en tittel og størrelse Komponenter struktureres
DetaljerINF1010. Grafisk brukergrensesni. med Swing og awt del 2. INF1010 - - Grafisk brukergrensesni4 II
INF1010 Grafisk brukergrensesni. med Swing og awt del 2 1 GUI (Graphical User Interface)- programmering n n n Enkel behandling av knappetrykk mm. Layout av vinduer Om å lytte på knappetrykk med musa n
DetaljerVi lærte sist å lage vinduer. Om å lage et vindu. GUI (Graphical User Interface)-programmering. Inf 1010-2008 GUI - del 2
GUI (Graphical User Interface)-programmering Inf 1010-2008 GUI - del 2 Stein Gjessing Inst for Informatikk Univ. i Oslo Tidligere Hvordan få laget et vindu på skjermen Grafikk (tegning i vinduet) Hvordan
DetaljerLO191D/LC191D Videregående programmering
LO191D/LC191D Videregående programmering Eksamen mai 2012 Løsningsforslag Oppgave 1 Klassen Destinasjon: // Oppgaven er uklar på hva som skal inn i klassen Destinasjon. // Her følger en minimumsutgave
DetaljerGjennomgang av eksamen H99
Gjennomgang av eksamen H99 Administrasjon av kurser, studenter og påmeldinger Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for Informatikk Universitetet i Oslo Oppgave 1 (15 %) (Besvares
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
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 6. juni 2006 Tid for eksamen: 1430 1730 Oppgavesettet er på 6 sider. Vedlegg: INF1010 Objektorientert programmering
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:
DetaljerAlgoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1
Delkapittel 3.1 Grensesnittet Liste Side 1 av 11 Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1 3.1 En beholder 3.1.1 En beholder En pappeske er en beholder En beholder er noe vi kan legge ting
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 =
Detaljerimport javax.swing.*; import java.awt.*;
import javax.swing.*; import java.awt.*; import javax.swing.*; import java.awt.*; Pluss mange Implementasjoner av forskjellige grensesnitt class RammeDemo { public static void main(string[] args) { JFrame
DetaljerGrafiske brukergrensesnitt med Swing og AWT
Grafiske brukergrensesnitt med Swing og AWT - 1 av 11 INNHOLD INTRODUKSJON 3 VINDUER, RAMMER OG PANELER. 4 KOMPONENTER OG VINDUSELEMENTER 6 KNAPPER OG KNAPPELYTTERE.. 8 LAYOUT.. 10 APPENDIX. 11 2 av 11
DetaljerUke mars 2005 GUI - del 2. GUI (Graphical User Interface)-programmering
Uke10 29. mars 2005 GUI - del 2 Stein Gjessing Inst for Informatikk Univ. i Oslo GUI (Graphical User Interface)-programmering Forrige gang Hvordan få laget et vindu på skjermen Hvordan legge ulike komponenter
DetaljerEKSAMEN. TILLATTE HJELPEMIDLER: Alle trykte og skrevne. INNFØRING MED PENN, evt. trykkblyant som gir gjennomslag
KANDIDATNUMMER: EKSAMEN EMNENAVN: Programutvikling EMNENUMMER: IMT3281 EKSAMENSDATO:05/12-2007 KLASSE: 06HBINDA/06HBINDP TID: 09.00 13.00 EMNEANSVARLIG: Øivind Kolloen ANTALL SIDER UTLEVERT: 7 TILLATTE
DetaljerINF Våren Li' repe$sjon om Tråder og GUI. Stein Gjessing, Ins$tu' for informa$kk, Universitetet i Oslo. Ins$tu' for informa$kk
INF1010 - Våren 2015 Li' repe$sjon om Tråder og GUI Stein Gjessing,, Universitetet i Oslo 1 GUI, tråder og hendelser Op-sys (Win, Linux,..) Ditt Program sin Event Dispatch Thread Hver ting brukeren gjør
DetaljerPost-it spørsmål fra timen (Arv og subklasser)
Post-it spørsmål fra timen 30.01 (Arv og subklasser) Tegning Spørsmål: Skjønte ikke tegningene Hater tegningene. Lær meg å tegne. Mvh frustrert elev. Spørsmål: Datastruktur-tegning, og hvor mye detaljer
DetaljerEksamen. Objektorientert Programmering IGR 1372
+ JVNROHQL1DUYLN $YGHOLQJIRU7HNQRORJL Eksamen i Objektorientert Programmering IGR 1372 7LG'HVHPEHU± 7LOODWWHKMHOSHPLGOHU 6NULYHVDNHU2UGE NHU -DYD6RIWZDUH6ROXWLRQV)RXQGDWLRQVRI3URJUDP 'HVLJQVNUHYHWDY/HZLV
DetaljerUNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF 101 - Grunnkurs i objektorientert programmering Eksamensdag : Tirsdag 4. juni 2002 Tid for eksamen : 09.00-15.00 Oppgavesettet
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
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
DetaljerINF1010 Grafisk brukergrensesni3 (GUI) med Swing/awt. del 1
INF1010 Grafisk brukergrensesni3 (GUI) med Swing/awt del 1 1 Hvordan lage et vindu på skjermen 2 Hvordan legge inn enkle elementer i vinduet 3 Hvordan lage et vindu med et sudokuspill 4 Hvordan lage en
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
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
Detaljer6108 Programmering i Java. Leksjon 8. GUI: Grafisk brukergrensesnitt. Del 2: 8.3 8.4 Roy M. Istad 2015
6108 Programmering i Java Leksjon 8 GUI: Grafisk brukergrensesnitt Del 2: 8.3 8.4 Roy M. Istad 2015 // Programforklaring // Noen nye import-setninger GUIprogram.java public class GUIprogram + vindu/hendelser
DetaljerINF1010. Grafisk brukergrensesni. med Swing og awt del 2
INF1010 Grafisk brukergrensesni. med Swing og awt del 2 GUI (Graphical User Interface)- programmering u u u Enkel behandling av knappetrykk mm. Layout av vinduer Om å lytte på knappetrykk med musa u Input
DetaljerAVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE. Antall sider (Inkl forsiden): 8. Alle trykte og håndskrevne
I EKSAMENSOPPGA VE Side av 8 AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE Emne: PROGRAMMERING Grupper: laa, 1AB, lac, lia Eksamensoppgaven av: Tillatte hjelpemidler: best~r Antall sider (Inkl forsiden):
DetaljerVi lærte sist å lage vinduer. Om å lage et vindu. GUI (Graphical User Interface)-programmering. GUI - del 2
GUI (Graphical User Interface)-programmering g Inf 1010-2009 GUI - del 2 Stein Gjessing Inst for Informatikk Univ. i Oslo Tidligere Hvordan få laget et vindu på skjermen Hvordan legge ulike komponenter
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,
DetaljerGUI - del 2. Stein Gjessing Inst for Informatikk Univ. i Oslo
Inf 1010-2009 GUI - del 2 Stein Gjessing Inst for Informatikk Univ. i Oslo GUI (Graphical User Interface)-programmering g Tidligere Hvordan få laget et vindu på skjermen Hvordan legge ulike komponenter
Detaljer. Ved sensur vl1 ahe bokstaverte deloppgaver (a, b, c,...) telle like mye.
~KSAMENSOPPGA VE Les gjennom hele oppgavesettet før du begynner A besvare deloppgavene.. Hold deg til de identifikator-navnene som er brukt i oppgaveteksten, dog med unntak av metodenes parametemavn som
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
DetaljerHØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL Delprøve Kandidatnr: Prøvedato: 2. mars 2005 Varighet: 3 timer (9:00 12:00) Fagnummer: LO196D Fagnavn: Videregående programmering med
DetaljerInf 1010 GUI - del 2
Inf 1010 GUI - del 2 Stein Gjessing Institutt for Informatikk Universitetet i Oslo 1 GUI (Graphical User Interface)-programmering Tidligere Hvordan få laget et vindu på skjermen Hvordan legge ulike komponenter
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
DetaljerForkurs 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
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
DetaljerForkurs 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
DetaljerJPanel. Komponent hieraki. Window/JWindow. Applet/JApplet. JDialog. JFrame
Komponent hieraki Applet JPanel Component Container JComponent Panel Window JWindow Frame JApplet Dialog Brukes vanligvis som en ekstra container for å få til ønske layout. Legges til som en hvilken som
DetaljerINF1010 våren 2006 Uke 19: 9. mai 2006 Et større eksempel: Solitaire (kabal)
Det ferdige spillet INF1010 våren 2006 Uke 19: 9. mai 2006 Et større eksempel: Solitaire (kabal) Stein Michael Storleer Institutt for informatikk Dette er kopier av lysark for en forelesning. Sidene er
DetaljerLø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.
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
DetaljerLenkelister. Lister og køer. Kopi av utvalgte sider fra forelesningen.
Lenkelister. Lister og køer. Kopi av utvalgte sider fra forelesningen. "Taher" type: String : type: :... type: : inf1010student null michael@ifi.uio.no INF1010 26. januar 2012 (uke 4) 2 class Eks01 { public
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Dato: 4. juni 2015 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 6 sider. Vedlegg:
DetaljerAlgoritmer 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
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
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider. Vedlegg:
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å
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
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];
DetaljerUNIVERSITETET 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å
Detaljer22.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
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
DetaljerLC191D/LO191D Videregående programmering mai 2010
LC191D/LO191D Videregående programmering mai 2010 Løsningsforslag Oppgave 1 Transporttype er en tekst som er felles for klassene AnnenEgenTransport og Kollektivtransport. Vi legger den derfor i klassen
DetaljerINF 1000 Prøveeksamen. 23. november Ole Christian og Arne. Oppgave 1 (10 poeng) Er disse programsetningene lovlige i Java? Oppgave 2 (10 poeng)
Oppgave 1 (1 poeng) Er disse programsetningene lovlige i Java? INF 1 Prøveeksamen 3. november 6 Ole Christian og Arne x int i, j = i+1; x int j=3, while(j-->) i = j; x int[]int[] int = new int[8]int[9];
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
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
DetaljerGraphics. Grafikk. Praktisk sett: Koordinatsystemet. kodeeksempel
Grafikk Grafikk er den framstillingen vi gir objekter på en todimensjonal flate. Det er en regnemessig tung operasjon å regne ut hvordan man skal framstille to og tre dimensjonale objekt på en todimensjonal
DetaljerUNIVERSITETET I OSLO
PRØVEEKSAMEN INF1 - H6 UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF1 Grunnkurs i objektorientert programmering Dato: Torsdag 3. november 6 Tid for prøveeksamen
Detaljer3 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
DetaljerUNIVERSITETET I BERGEN Det matematisk-naturvitenskapelige fakultet
UNIVERSITETET I BERGEN Det matematisk-naturvitenskapelige fakultet Eksamen i emnet INF101/INF101-F - Programmering 2 Fredag 10. juni 2011, kl. 09-14 Bokmål Tillatte hjelpemidler: alle skrevne og trykte.
DetaljerEks 1: Binærtre Binærtretraversering Eks 2: Binærtre og stakk
Godkjent oblig 1? Les e-post til din UiO-adresse Svar på e-post fra lablærer Ingen godkjenning før avholdt møte med lablærer Godkjentlistene brukes ikke til å informere om status for obligene Ta vare på
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
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
DetaljerINF1010 - Seminaroppgaver til uke 3
INF1010 - Seminaroppgaver til uke 3 Oppgave 1 I denne oppgaven skal vi lage et klassehiearki av drikker. Alle klassene i hiearkiet skal implementere følgende grensesnitt p u b l i c i n t e r f a c e Drikkbar
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
DetaljerArray&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister
Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java
DetaljerINF1000: 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
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 1. desember 2010 Tid for eksamen: 14.00 18.00
DetaljerIntroduksjon til objektorientert programmering
Introduksjon til objektorientert programmering Samt litt mer om strenger og variable INF1000, uke6 Ragnhild Kobro Runde Grunnkurs i objektorientert programmering Strategi: Splitt og hersk Metoder kan brukes
DetaljerUNIVERSITETET 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
Detaljer23.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
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
DetaljerUNIVERSITETET I OSLO
Side 1 UNIVERSITETET I OSLO Kandidatnr Det matematisk-naturvitenskapelige fakultet Eksamen i: PRØVEEKSAMEN INF1000 Eksamensdag: Prøveeksamen 22.11.2011 Tid for eksamen: 12:15-16:15 Oppgavesettet er på
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:
DetaljerGjøre noe i hele treet = kalle på samme metode i alle objekten. Java datastruktur Klassestruktur
Godkjent oblig 1? Les e-post til din UiO-adresse Svar på e-post fra lablærer Ingen godkjenning før avholdt møte med lablærer Godkjentlistene brukes ikke til å informere om status for obligene Ta vare på
DetaljerTDT4100 Objektorientert programmering
Eksamensoppgave i TDT4100 Objektorientert programmering Torsdag 12. august 2010, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikret av Svein Erik Bratsberg. Kontaktperson
DetaljerGUI («Graphical User Interface») del 2
GUI («Graphical User Interface») del 2 Interaksjon med brukeren Hendelsesdrevet programmering Tråder i GUI Et spill basert på klikkbare ruter Se også på Infoskrivet https://www.uio.no/studier/emner/matnat/
DetaljerBOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs
BOKMÅL Side 1 av 7 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap KONTINUASJONSEKSAMEN
DetaljerInf1010 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
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 10. juni 2009 Tid for eksamen: 9.00 12.00 Oppgavesettet
DetaljerHØ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
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Lørdag 5. juni 2004 Tid for eksamen : 09.00 15.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler : INF1010
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:
DetaljerForelesningsquiz. 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
DetaljerArray&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister Videre
Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider.
DetaljerOppsummering. Kort gjennomgang av klasser etc ved å løse halvparten av eksamen Klasser. Datastrukturer. Interface Subklasser Klasseparametre
Oppsummering Kort gjennomgang av klasser etc ved å løse halvparten av eksamen 2012. Klasser Interface Subklasser Klasseparametre Datastrukturer Hva er problemet? Oppgaven Emballasjefabrikken Renpakk skal
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
DetaljerForelesning 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"behrozm" Oppsummering - programskisse for traversering av en graf (dybde først) Forelesning i INF februar 2009
Rekursiv programmering BTeksempel Datastruktur I klassen Persontre (rotperson==) Rekursjon Noen oppgaver/problemer er rekursive «av natur» Eksempel på en rekursiv definisjon Fakultetsfunksjonen
DetaljerForelesning 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
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,
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:
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)
DetaljerTDT4100 Objektorientert programmering
Eksamensoppgave i TDT4100 Objektorientert programmering Mandag 6. august 2012, kl. 15:00-19:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikrer Rune Sætre. Kontaktperson under
Detaljer