Repetisjon. INF1000 - gruppe 13

Like dokumenter
Oblig 4Hybelhus litt mer tips enn i oppgaven

1. Finn klassene (hvilke objekter er det i problemet) 1. Dataene som beskriver problemet (hvilke objekter har vi og hvor mange klasser er det?

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

Løsningsforslag til eksamen i INF1000 våren 2006

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

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

Oblig 3 tips litt mer tips enn i oppgaven

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

INF1010 våren Arv og subklasser - del 2

INF1010 våren 2018 tirsdag 23. januar

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

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

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

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

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

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

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

UNIVERSITETET I OSLO

Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2

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

Klasser, objekter, pekere og UML. INF gruppe 13

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

Gulbrand Grås husleiesystem

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

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

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

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

UNIVERSITETET I OSLO

Innlesning fra tastatur med easyio. INF1000 høst Vi må først skrive i toppen av programmet: import easyio.*;

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

"Nelsons kaffebutikk"

(MVC - Model, View, Control)

IN Notat om I/O i Java

Gjennomgang av eksamen H99

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

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

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

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

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

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

INF Løsning på seminaropppgaver til uke 8

Oblig4Hybelhus (INF Høst 2013) én av to mulige oppgaver for oblig4 (du løser denne eller Oblig4Pi)

Inf 1000 høst 2005 Løsningsforslag ordinær eksamen

INF januar 2015 Stein Michael Storleer (michael) Lenkelister

Inf1000 (Uke 10) HashMap og ArrayList

Løsningsforslag, inf101, våren 2001

INF Uke 10. Løsningsforslag ukesoppgaver oktober 2012

import java.io.*; import java.util.*; import javagently.text;

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl

Ole Christian Lingjærde, 12. september 2013

Forelesning inf Java 4

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm

Oblig 3 tips litt mer tips enn i oppgaven

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

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

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

Oppgave 1 (Programtolkning) INF1000 Eksamen V06. Oppgave 1 (Programtolkning) Oppgave 1 (Programtolkning)

Oppgave01.java class Bongo { 2 public static void main(string[] args){ 3 int[][][]bongo = new int[2][3][4]; 4 5 // SVAR: 24 6 } 7 } 8

INF Uke 10. Ukesoppgaver oktober 2012

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

UNIVERSITETET I OSLO

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

TOD063 Datastrukturer og algoritmer

INF2100. Oppgaver 26. september til 1. oktober 2007

UNIVERSITETET I OSLO

Eksempel: Body Mass Index (BMI) Forelesning inf Java 3. Ferdig program (første del) Ferdig program (siste del)

Litt om pakker og mest om data inn og ut

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

UNIVERSITETET I OSLO

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

INF1000 Uke 4. Innlesning fra terminal. Uttrykk og presedens. Oversikt

UNIVERSITETET I OSLO

Oppgave 3: Binær representasjon

INF Notat om I/O i Java

PRØVEEKSAMEN (rettet versjon 27/11)

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

Oblig4 - obligatorisk oppgave nr. 4 (av 4) i INF1000

INF1000-SIKT - Notat om I/O i Java

INF1000 (Uke 4) Mer om forgreninger, While-løkker

Oppgave 1 - Kortsvarsoppgave. INF1000 eksamen V05. Oppgave 1 (c) Oppgave 1 (b) Svar: a = 9, b=10

En klasse er noe - en metode gjør noe (! / # <= (! * +!! ",-' %. "- -/ %.!#) )! " 0'%! * *$! "1-)) '' % '. 22!'( 7/ /! * 2 2! "*"% 8"%% 9 - -!

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Repetisjon. Mer om forgrening While-løkker

INF 1000 Prøveeksamen. 23. november Ole Christian og Arne. Oppgave 1 (10 poeng) Er disse programsetningene lovlige i Java? Oppgave 2 (10 poeng)

Løsningsforslag INF desember 2007

Løse reelle problemer

Jentetreff INF1000 Debugging i Java

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

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

OPPGAVE 5b og 8b Java Kode

Oblig4 - forklaringer. Arne og Ole Christian

OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK

Java 6. Eksempel med to-dimensjonal array Filbehandling Tekster

I dag. Rep: Oppsummering - variabler. Rep: Datatyper. INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger

INF1000: noen avsluttende ord

UNIVERSITETET I OSLO

Enkel lesing og skriving i Java

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

INF1000: Forelesning 6. Klasser og objekter del 1

Forelesning inf Java 3

INF1000 : Forelesning 3

Transkript:

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 = innfil.nextline(); String[] elementer = linje.split( ; ); for (int i = 0; i < elementer.length; i++) { System.out.println( På plass + i + : + elementer[i]); catch (Exception e) { System.out.println( Noe gikk galt );

Lese fra fil easyio import easyio.*; void lesfrafil() { In innfil = new In( fugleobservasjoner.txt ); while (innfil.hasnext()) { String linje = innfil.inline(); String[] elementer = linje.split( ; ); for (int i = 0; i < elementer.length; i++) { System.out.println( På plass + i + : + elementer[i]);

void skrivtilfil() { try { PrintWriter utfil = new PrintWriter(new File( fugleobservasjoner.txt )); for (int i = 0; i < observasjoner.length; i++) { for (int j = 0; j < observasjoner[i].length; j++) { utfil.print(observasjoner[i][j] + ; ); utfil.println(); utfil.close(); catch (Exception e) { System.out.println( Noe gikk galt ); Skrive til fil Scanner import java.util.*; String[][] observasjoner = new String[50][4];

Skrive til fil easyio import easyio.*; String[][] observasjoner = new String[50][4]; void skrivtilfil() { Out utfil = new Out( fugleobservasjoner.txt ); for (int i = 0; i < observasjoner.length; i++) { for (int j = 0; j < observasjoner[i].length; j++) { utfil.out(observasjoner[i][j] + ; ); utfil.outln(); utfil.close();

Metoder Metodeoppskrift <returtype> <metodenavn>(<parametere>) { <metodens innhold> return <det skal returneres>; Merk: return er ikke nødvendig dersom returtype er void (som betyr ingenting )

Metoder Student[] studenter = new Student[1000]; Student finnstudent(string navn, int alder) { for (int i = 0; i < studenter.length; i++) { if (studenter[i].navn.equals(navn) && studenter[i].alder == alder) { return studenter[i]; return null;

Metoder void skrivstudentdata(string navn, int alder) { Student stud = finnstudent(navn, alder); System.out.println( Navn: + stud.navn +, alder: + stud.alder);

Metoder void ordrelokke() { In tast = new In(); int valg = 0; while (valg!= 2) { valg = tast.inint(); switch (valg) { case 1: String navn = tast.inline(); int alder = tast.inint(); skrivstudentdata(navn, alder); break; case 2: System.out.println( Avslutter ); break;

Klasser, objekter, pekere En klasse er en oppskrift til objekter Ofte substantiver som beskriver virkeligheten Bil, Hus, Student, Bank, Kopp Et objekt er en kopi av en klasse Én-til-én forhold med virkeligheten Om det finnes 100 biler i virkeligheten finnes det også 100 Bil-objekter i programmet vårt innenfor problemområdet En peker er noe som gir tilgang til objektene Alle objekter må bli pekt på av minst én peker

Eksempel

class Student { String navn; int saldo; Student(String n, int s) { navn = n; saldo = s; class Hybel { Student leietager; int etasje, rom; boolean ertoppetasje() { return (etasje == 2); class Hybelhus { In tast = new In(); Hybel[][] hybler = new Hybel[3][6]; int maaned, aar, totalfortjeneste, pristoppetasje,...; Hybelhus() { // leser fra hybeldata.txt og lager objekter for hybler void regleietager() { int etasje = tast.inint(); char rom = tast.inchar(); String navn = tast.inline();... Student stud = new Student(navn, 15000); Hybel hybel = finnhybel(etasje, rom); if (hybel!= null && hybel.leietager!= null) { hybel.leietager = stud; if (hybel.ertoppetasje()) { stud.saldo -= pristoppetasje; totalfortjeneste += pristoppetasje; else { stud.saldo -= prisvanligetasje; totalfortjeneste += prisvanligetasje; else { System.out.println( Noe gikk galt );

Hybel finnhybel(int etasje, char rom) { int e = etasje - 1; int r = (int) (rom - A ); if (0 <= e && e <= 2 && 0 <= r && r <= 5) { return hybler[e][r]; else { return null; Hybel finnhybel(string navn) { for (int i = 0; i < hybler.length; i++) { for (int j = 0; j < hybler[i].length; j++) { if (navn.equals(hybler[i][j].leietager.navn)) { return hybler[i][j]; return null; void regflytting() { String navn = tast.inline(); Hybel hybel = finnhybel(navn); if (hybel!= null) { hybel.leietaker = null; System.out.println(navn + har flyttet ut ); else { System.out.println( Finner ikke + navn);

0 1 2 3 4 5 hybler 0 1 2 null null null null null null 0 1 2 3 4 5 null null null null null null 0 1 2 3 4 5 null null null null null null

0 1 2 3 4 5 hybler 0 1 2 0 1 2 3 4 5 0 1 2 3 4 5 null null null null null null

0 1 2 3 4 5 hybler 0 1 2 0 1 2 3 4 5 0 1 2 3 4 5 Hybel Student leietager Hybel Student leietager Hybel Student leietager ertoppetasje() ertoppetasje() ertoppetasje() null null null

0 1 2 3 4 5 hybler 0 1 2 0 1 2 3 4 5 0 1 2 3 4 5 Hybel Student leietager Hybel Student leietager Hybel Student leietager ertoppetasje() ertoppetasje() ertoppetasje() Student navn = <navnet> saldo = 15000 null null

HashMap Kan brukes istedenfor array (men ikke alltid) HashMap<String, Hybel> hybelhus = new HashMap<String, Hybel>(); Hybel hyb = new Hybel( 2B, Lars, 15000); hybelhus.put( 2B, hyb); class Hybel { String hybelnavn; String leietagernavn; int leietagersaldo; Hybel hybel = hybelhus.get( 2B ); System.out.println(hybel.hybelNavn + + hybel.leietagernavn + + hybel.leietagersaldo);

HashMap hybelhus.remove( 2B ); Hybel hybelpeker = hybelhus.get( 2B ); if (hybelpeker == null) { System.out.println( 2B finnes ikke ); for (Hybel h : hybelhus) { System.out.println(h.hybelNavn + + h.leietagernavn + + h.leietagersaldo);