Kapitel 6. Hakparenteser fšr att ange index MŒnga všrden av samma typ



Relevanta dokument
Kapitel 6. Kapitel 6. Hakparenteser fšr att ange index float[] priser = new float[500]; frekvens[4] boolean[] flaggor;

Arrayer. results

Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0..

Exempel. Arrayer. Lösningen. Ett problem. Arrayer och hakparanteser. Arrayer

Objektorienterad programmering i Java

Objekt och klasser - Introduktion. Objekt. SparKonto.java 2. SparKonto.java 1. Konton.java. Ett objekt har: Ett bankkonto

Heltalsrepresentation. Fler byggstenar. Overflow och Underflow. TvŒ-komplement. FlyttalsvŠrden. Fyra heltalstyper. Tecken-bit

Fält & Vector. Fält (array) - deklaration & användning Fält som parametrar Flerdimensionella fält klassen Vector. Programmeringsmetodik -Java 101

1 Programmering i Java. Program element - Introduktion. Exempel. Exempel. Kapitel 3:

Föreläsning 11. Arrayer. Arrayer. Arrayer. Lagrar flera värden av samma typ Kan vara primitiva typer eller objekt. Kan ha en array av t.

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Föreläsning 2, vecka 8: Repetition

Objekt och klasser - Introduktion. Objekt. Spar_Konto 2. Spar_Konto 1. Konton. Ett objekt har: Ett bankkonto. public void uttag(double belopp)

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

l uppgiftsformulering l algoritmkonstruktion l verifikation l kodning l testning och avlusning l validering l dokumentering l underhœll Kapitel 2

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering

TENTAMEN OOP

Klassdeklaration. Metoddeklaration. Parameteröverföring

Kodkonvention Klasser påbörjas med stor bokstav (i övrigt små utom om flera ord då Inledande bokstav i övriga ord också görs stor) AClass

Abstrakta datatyper. Primitiva vektorer. Deklarera en vektor

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista

Tentamen på kursen DA7351, Programmering , kl Malmö högskola Teknik och samhälle. DA7351, Programmering

F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel

Lösningar för tenta 2 DAT043,

Typkonvertering. Java versus C

SMD 134 Objektorienterad programmering

TENTAMEN OOP

4 13 / %.; 8 </" '': " / //&' " " ' * TelefonKostnad +,-%&. #!" $% " &' . > / ' 5 /' * 13/ &' static Math 1+" &'/ % 12 "" static "' * 1 /") %& &

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12

Den som bara har en hammare tror att alla problem är spikar

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

JAVAUTVECKLING LEKTION 7

Laboration 13, Arrayer och objekt

Språkkonventioner och redigering av tal.

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

Parsing med Recursive Descent, Avbildningsklasser. Syntaxdiagram. Syntaxdiagram och kodning expression. Betrakta följande uttryck

Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Föreläsning 6: Metoder och fält (arrays)

[] Arrayer = Indexerad variabel

Föreläsning 10. ADT:er och datastrukturer

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Objektorienterad Programmering (TDDC77)

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Objekt och klasser - Introduktion

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och i regel som private.

Dagens föreläsning. Arrayer och klasser. Medan ni väntar: Gå till m.voto.se/prog11 och svara på några gamla tentamensfrågor! (26 januari 2018 F3 1 )

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

Tentamen , Introduktion till Java, dtaa98, dtea53

OOP Tentamen

Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Föreläsning 3: Booleans, if, switch

JAVAUTVECKLING LEKTION 8

Tentamen. Lösningsförslag

OOP Objekt-orienterad programmering

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:

TDDC77 Objektorienterad Programmering

Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering

Föreläsning 3-4 Innehåll

Fält av referenser. Konstruktorerna används för att skapa Bilar och Trafikljus.

DD2310. Javaprogrammering för Pythonprogrammerare. Johan Boye

F4. programmeringsteknik och Matlab

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2

Metoder - en funktion: medel

Outline. Objektorienterad Programmering (TDDC77) En frukt har ett namn. Man kan lägga en frukt i en korg... Hashing. Undantag. Ahmed Rezine.

Objektorienterad Programmering (TDDC77)

Classes och Interfaces, Objects och References, Initialization

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Parameteröverföring. Exempel. Exempel. Metodkropp

Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER

Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc

E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I

Att skriva till och läsa från terminalfönstret

Instuderingsuppgifter läsvecka 6 - LÖSNINGAR

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

Föreläsning 8: Exempel och problemlösning

Del A (obligatorisk för alla)

Dagens text. Programmeringsteknik. Mer om Scanner-klassen. Dialogrutor (klassen JOptionPane) Bubbelsortering. Omslagsklasser.

Föreläsning 4. Klass. Klassdeklaration. Klasser Och Objekt

F7 - Arrayer. ID1004 Objektorienterad programmering Fredrik Kilander

OOP Tenta

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Det är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga.

public och private Obs: private inte skyddar mot access från andra objekt i samma klass.

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h

//Använd main som ett "handtag" för att hålla ihop programmet. //Själva programmet finns i övriga klasser.

OOP Objekt-orienterad programmering

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst

Transkript:

Organisation En array Šr en ordnad lista av všrden Varje všrde har ett numeriskt index - deklaration & anvšndning som parametrar flerdimensionella fšlt N element indexeras med 0 till N-1 0 1 2 3 4 5 6 7 8 9 resultat 79 87 94 82 67 98 87 81 74 91 klassen Vector 1 2 Hakparenteser fšr att ange index MŒnga všrden av samma typ frekvens[4] É kan vara primitiva typer eller objekt et sjšlv Šr ett objekt Kan anvšndas šverallt dšr ett heltal fœr fšrekomma Namnet pœ fšltet blir dœ en referens variabel, och fšltet instansieras separat Tilldelning, utskrift, uttrycké. 3 4 int[] frekvens = new int[10]; Typen anger inte storleken Typen Šr int[] Instansieras till 10 heltal Indexeras 0..9 Se Basic_Array.java (s.210) Deklaration float[] priser = new float[500]; boolean[] flaggor; flaggor = new boolean[20]; char[] koder = new char[1750]; Exempel 5 6 1

Indexkontroll VŠl skapat Šr fšltet fixt Index mœste referera till existerande element index i intervallet 0ÉN-1 frekvens[(tal-1)/10] = frekvens[(tal-1)/10]+1; Index kontrolleras under kšrning off-by-one vanligt fel Varje fšlt objekt har en konstant length frekvens.length Antalet element, inte hšgsta index Se Reverse_Numbers.java (212) ets storlek 7 8 Hela fšltet kan initialiseras vid deklarationen Initialisering Observera : Ð new anvšnds inte Ð Ingen explicit storlek Initialisera med listor int[] enheter = 147, 323, 89, 933, 540, 269, 97, 114, 298, 476}; char[] kursniva = 'A', 'B', 'C', 'D'}; LŠngden bestšms av antalet element Endast vid deklarationen Se Primes.java och Sales_Analysis.java 9 10 Objekt som element Elementen i ett fšlt kan vara objektreferenser String[] barn = new String[5]; 5 referenser till objekt av typen String Inga objekt har skapats (referensen Šr null) Varje objekt skapas separat barn [0] = new String(ÓEmilieÓ); Eller (fšr String ) String[] barn = ÓEmilieÓ, ÓJohannaÓ, ÓJakobÓ, ÓEllenÓ, ÓFridaÓ }; Se Roll_Call.java (223) class Membership() private Member[] memberð_list; private int num_memberðs; som attribut 11 12 2

class Member () private String name; private int memberðship_number; Member Public Member (String member_name, int id_number) name = member_name; memberðship_number = id_number; }//konstruktorn É }//class Member Class Membership() private Member[] memberð_list; private int num_memberðs; Public Membership() num_members = 4; memberð_list = new Member[4]; memberð_list[4] = new Member(ÓJohnny StormÓ,70469);... } Membership 13 14 som parametrar Referensen šverfšrs och den formella och aktuella parametern blir alias ndringar pœverkar bœda Histogram import java.io.*; public class Histogram private final int MAX = 100; private final int MIN = 1; // private int[] frekvens = new int[(max + 1) / 10]; Elementen kan skickas och fšljer elementtypens regler Se Array_Test.java (225) 15 16 public void samlaintalen() throws IOException int tal; for (int index=0; index<frekvens.length; index=index+1) frekvens[index] = 0; do // Skriv ledtext och läs värden Out.print("Ge ett tal mellan " + MIN + " och " + MAX + " (-1 för avslut): "); tal = In.readInt(); // Validera input räkna frekvensen if (tal!= -1) if (tal >= MIN && tal <= MAX) frekvens[(tal-1)/10] = frekvens[(tal-1)/10]+1; else //felaktig inmatning Out.print("Talet måste ligga i [" + MIN + "," + MAX + "]"); }//tal!= -1 }//do while (tal!= -1); }// metod samlaintalen samlaintalen skrivtabellen public void skrivtabellen() Out.println(); for (int index=0; index<frekvens.length; index++) switch (index) } case 0 : Out.print (...); break; case 9 : Out.print (...); break; default : Out.print (...); for (int index2=0; index2<frekvens[index];index2++) Out.print ("*"); Out.println(); }//for-loopen }// metod skrivtabellen 17 18 3

/* pp 6.25 */ import java.io.*; public class Pp625 public static void main(string[] args) throws IOException Histogram histogram = new Histogram(); histogram.samlaintalen(); histogram.skrivtabellen(); }// main }// Pp625 Kšrningen 19 20 Flerdimensionella fšlt Flerdimensionella fšlt En-dimensionella fšlt = listor av všrden TvŒ-dimensionella fšlt - tabeller med rader & kolumner TvŒ index av fšlt i Java, medfšr att raderna kan ha olika lšngd Kan initialiseras med listor Lista av listor Varje dimension har en egen lšngdkonstant Se Multi_Array_Test.java (229) 21 22 Klassen Vector Servicemetoder addelement (Object element) Ett objekt av klassen Vector liknar ett fšlt removeelement (Object element) Men contains (Object element) Ð Lagrar b ara referenser till objekt av typen Object Ð Inte samma syntax fšr indexering elementat (int index) elementat (int index) firstelement () Klassen tillhšr java.util 23 lastelement () size () println šverlagrad till Vector -klassen Se Beatles.java (233) 24 4

Klassen Vector Listtypen dynamisk Implementeras med fšlt Om mer utrymme behšvs, skapas ett nytt objekt och elementen kopieras šver 25 5