Tabeller av objekter Klassen ArrayList

Slides:



Advertisements
Liknende presentasjoner
Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Advertisements

Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring
Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring
C++ for Java-programmerere
Datafiler og serialisering Tekstfiler Scanner-klassen Binær overføring av data Direkte tilgang til filinnholdet Serialisering LC191D Videregående programmering.
Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring
Høgskolen i Oslo Webprogrammering SQL og databaser del 3.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Uke 10 - Sortering, og hvordan lage en klasse for et klassebibliotek 21 okt. 2003, Arne Maus Inst. for informatikk, UiO.
Polymorfi og arv, del 1 LC191D Videregående programmering Semesterplan: Høgskolen i Sør-Trøndelag, Avdeling.
1 Java 6 Mer om metoder Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Høgskolen i Oslo Webprogrammering Introduksjon til Java-scripting.
Java 12 Mer filbehandling - skrive til fil HashMap Et større eksempel Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet.
Tabeller – Arrays Lage frekvenstabell Norske Bokstaver
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Java 4 Mer om forgreninger While-løkker Ole Christian Lingjærde
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Variasjoner i subklasser.  Prinsippskissen er meget enkel  En abstrakt klasse har en konkret metode og en abstrakt metode  Hver subklasse realiserer.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
IS-102 Klassedefinisjoner
C# for javaprogrammerere
Generelt I/O if/else Funksjoner Lists Løkker Dictionaries Annet Listebehandling Klasser Python med noen algdat-anvendelser Åsmund Eldhuset asmunde *at*
En gang til!? .
Filer Finne minste Finne Største Beregne gjennomsnitt Variabler Tabeller – Arrays Lage frekvenstabell.
Gjennomgang av prøven Tidsangivelse. Prøven deles ut Vi fyller ut øvelsen sammen.
Mer om programmering av aggregeringer Repetisjon: Komposisjon og aggregering En register-klasse: modellering En register-klasse: implementering Sortering.
Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse.
INF150 Programmering mandag 11.9
Introduksjon til Java 5.0. Hva er nytt i 5.0? Generiske typer For-løkke med iterator (for-hver løkke) Automatisk innpakking av primitive typer Metadata.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Objektorientert programmering
Repetisjon av JSP Variabler, tabeller, if-setninger, for/while-løkker
Dynamiske nettsider PHP Del 2 – Kontrollstrukturer.
Dynamiske nettsider PHP Del 1 – variable. PHP  PHP (Personal Home Page)  Fritt tilgjengelig programmeringsspråk  åpen kildekode  Plattformuavhengig.
Uke 7 - del I: Repetisjon del II: Objekter, klasser og pekere 30 sept. 2003, Arne Maus Inst. for informatikk, UiO.
Å 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.
Programmering sif8005. Praktisk informasjon  Innleveringsfrist øvinger: mandag kl  Alle øvinger er obligatoriske  Studass tilgjengelig 6 timer.
Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; //Her er 11 tabellens lengde for.
Jæger: Robuste og sikre systemer INF150 Programmering Kapittel 2: Problemløsning Kapittel 3.1 og 3.2.
INF1000 (Uke 14) Resten av eksamen H03 + del av V05 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B.
Objekt, Instanser og referanser + litt til. Objekter  Instanser  Kan sees på som det samme. Personen Per kan være både et objekt og en instans av klassen.
Main metoden n public static void main(String[] args){ } n Inni denne metoden skjer alt! n Det kan bare finnes en main metode per program. n Den kan ligge.
INF Objektorientert programmering
Programmering i Java versjon september 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Object  Klassen i java  Alle klasser arver fra denne om ikke noe annet blir spesifisert  ArrayList.add(Object instans)  Alle elementer formes til Object.
Ekstra mange tips til Oblig 3! 12. mars 2007 Are Magnus Bruaset og Arild Waaler Inst. for informatikk, UiO.
INF1000 (Uke 14) Eksamen V06 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Arild Waaler.
INF1000 (Uke 12) Sortering og eksamensoppgaver Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B. Kristoffersen.
Byggeklosser i java  Klassedefinisjon  Variabel deklarasjon  Metodedeklarasjoner  En ordentlig klasse  Spesielle/kryptiske skrivemåter  løkker og.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Inf1000 (Uke 10) HashMap og ArrayList
INF1000 (Uke 4) Mer om forgreninger, While-løkker
Inf1000 (Uke 5) Arrayer, filer og tekst
Finne feil - Debugging Introduksjon til sortering.
Kapittel 5 Vilkårssetningar og løkker. 5.1 Boolske uttrykk George Boole ( ), britisk matematikar Utvikla teori om logikk ved bruk av symbol i.
Kapittel 7 Array (lister og tabellar). 7.1 Arrayelement Array (lister, tabellar) er kjent frå VB Blir brukt til å organisere data når vi har mange dataelement.
Jæger: Robuste og sikre systemer INF150 Programmering torsdag 14.9 Ulike måter for å lese inn og skrive ut data. Kap. 3.5 mer om if – setninger Ferdige.
Variabler, datatyper og uttrykk
Triks Avslutt alle klasser, metoder og løkker samtidig som du lager dem. Deklarer alle variablene/referansene på begynnelsen av klassen. Hvis du definerer.
Siste uke med fokus på Python  Java
Utskrift av presentasjonen:

Tabeller av objekter Klassen ArrayList Vprg 2 Tabeller av objekter Klassen ArrayList LC191D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_LC191D.php Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring Else Lervik, januar 2012

En oppgave om tabeller av objekter Klassen Student (side 361) Klassen Navn (side 359) Oppgave I hele oppgaven skal du vedlikeholde en figur som viser objektene som blir laget og sammenhengen mellom dem Lag en tabell, gruppe, med plass til tre studentobjekter: Kåre, Anders og Tove. Etternavn og fødselsdato bestemmer du selv. Lag en tabell, kopier, med samme innhold som tabellen gruppe. Følgende setninger skal utføres gruppe[1] = new Student("Eva", "Ås", 19800506); gruppe[2].setEtternavn("Bjørndal"); Hva blir skrevet ut hvis følgende kode kjøres? (Forsøk å finne svaret uten å kjøre koden) for (int i = 0; i < gruppe.length; i++) { System.out.println(gruppe[i].getFornavn() + " " + gruppe[i].getEtternavn()); } System.out.println("Kopier: "); for (int i = 0; i < kopier.length; i++) { System.out.println(kopier[i].getFornavn() + " " + kopier[i].getEtternavn());

Om tabeller – og om klassen ArrayList Problemer som vi forholdt oss til i karaktereksemplet fra leksjon 1 Tabellen har ikke riktig lengde i forhold til behovet Ofte må en holde orden på hvor stor del av tabellen som er fylt opp Tabeller er velegnet dersom de har fast størrelse, f.eks. diett-tabellen fra leksjon 1 og bord-tabellen i øving 1 Klassen java.util.ArrayList hjelper oss når vi trenger tabeller med variabel lengde Løsningen på problemene foran er gjemt inne i klassen ArrayListens kapasitet er lik den egentlig tabell-størrelsen, den trenger vi sjelden å tenke på ArrayListens størrelse er lik antall elementer til enhver tid – den trenger vi ofte! Også med ArrayLister må vi sjekke at indeksene vi bruker er gyldige Gjennomgå eksemplet i boka side 420 – tegn figur Gjenta oppgaven på forrige side, men bruk ArrayList

ArrayList - oppgaver Bruk klassen Vare (http://javabok.no/EksFraBoka/EksKap13/Vare.java) Opprett et ArrayList-objekt med navn varer. Lag programkode som legger objekter av klassen Vare inn i ArrayListen. Varenummeret skal være lik indeksen+ 100, det vil si 100, 101, 102, 103 osv. Objektene skal lages ved at programmet går i løkke og for hver vare leser inn varenavn og pris. Lag programkode som løper gjennom varer og skriver ut de innleste opplysningene. Lag programkode som leter opp en vare med et bestemt navn. Vi antar at varenavnet er entydig. Lag programkode som fjerner varen funnet i oppgave 3.

Utvidet for (”enhanced for”) Kortform av for-løkken for gjennomløp av alle elementene i en ArrayList I stedet for for (int i = 0; i < navnene.size(); i++) { String detteNavnet = navnene.get(i); System.out.println(detteNavnet); } kan vi skrive for (String detteNavnet : navnene) { Prøv ut på et av eksemplene foran

ArrayLister og data av primitive datatyper Vi kan kun legge inn referanser i en ArrayList For å kunne legge inn f.eks. tall i listen, må de pakkes inn i objekter Vi bruker de såkalte wrapperklassene for primitive datatyper (side 251-252) Primitive datatyper: boolean, byte, char, short, int, long, float og double Tilhørende klasser – subklasser til klassen Number: Boolean, Byte, Character, Short, Integer, Long, Float og Double Eksempel: Integer heltallsobjekt = new Integer(50); int etTall = heltallsobjekt.intValue(); Kortform (automatisk omforming): Integer heltallsobjekt = 50; int etTall = heltallsobjekt; Vis eksempel i boka, side 425