Föreläsning 8. Klassen String Mer om fält Klassen ArrayList
|
|
- Per Åström
- för 6 år sedan
- Visningar:
Transkript
1 Föreläsning 8 Klassen String Mer om fält Klassen ArrayList
2 Standardklassen String Texter handhas i Java med standardklassen String. Ett objekt av klassen String består av en följd av tecken, dvs element av typen char. I Java används en internationell standard för att lagra tecken som kallas Unicode. De svenska tecknen ligger inte i följd i denna standard varför inte tecken och ord kan jämföras enligt alfabetisk ordning utan användning av en särskild jämförare. En jämförare är ett objekt av klassen Collator, som finns i paketet java.text.collator. En jämförare deklareras på följande sätt: Collator co = Collator.getInstance(); varvid de språkkonventioner som är satta till default erhålls.
3 Standardklassen String Alternativt kan man vid skapandet av jämföraren ange vilka språkkonventioner som skall användas: Collator co = Collator.getInstance(new Locale("sv", "SE")); Texter kan jämföras med metoderna compare eller equals: co.compare(s1,s2) ger värdet om s1 och s2 är alfabetiskt lika, ett värde < om s1 kommer för s2 och ett värde > om s2 kommer för s1. co.equals(s1, s2) ger true om s1 och s2 är alfabetiskt lika, annars fås värdet false. Det är möjligt att sätta "nivån" på jämföraren: co.setstrength(collator.primary) co.setstrength(collator.secondary) co.setstrength(collator.tertiary) Skiljer endast på olika bokstäver. Skiljer på utsmyckade bokstäver. Skiljer på utsmyckade bokstäver, samt på små och stora bokstäver.
4 Metoder i standardklassen String int length() char charat(int index) ger antalet tecken i aktuell sträng ger tecknet i position index int compareto(string str) gör alfabetisk jämförelse mellan aktuell sträng och str. Ger värdet om aktuell sträng och argumentet är alfabetiskt lika, ett värde mindre än om argumentet är större och ett värde större än om argumentet är mindre String concat(string str) lägger till str efter aktuell sträng boolean equals(string str) ger true om str är lika med aktuell sträng, annars ges värdet false boolean equalsignorecase(string str) jämför aktuell sträng med strängen str utan hänsyn till versaler och germaner. Ger värdet true om str är lika med aktuell sträng, annars ges värdet false int indexof(char c) int lastindexof(char c) ger första förekomsten av tecknet c i den aktuella strängen, om c inte finns returneras -1 ger sista förekomsten av tecknet c i den aktuella strängen, om c inte finns returneras -1
5 Metoder i standardklassen String int indexof(string str) ger första förekomsten av strängen str i den aktuella strängen, om str inte finns returneras -1 int lastindexof(string str) ger sista förekomsten av strängen str i den aktuella strängen, om str inte finns returneras -1 String replace (char oldchar, char newchar) ger en kopia av aktuell sträng där alla förekomster av tecknet oldchar bytts mot tecknet newchar String substring(int index) ger delsträngen som börjar i position index String substring(int startindex, int endindex) ger delsträngen som börjar i position startindex och slutar i position endindex-1 String tolowercase() String touppercase() ger en kopia av strängen där alla versaler har bytts ut mot gemener ger en kopia av strängen där alla gemener har bytts ut mot versaler String trim() ger en kopia av aktuell sträng där inledande och avslutande blanka tecken och tabulator-tecken tagits bort static String valueof(int n) returnerar texten som motsvarar heltalet n Fler metoder finns i klassen String.
6 Några metoder i standardklassen Character int getnumericvalue(char ch) boolean isdigit(char ch) boolean isletter(char ch) ger Unicode för ch returnerar värdet true om ch är en siffra, annars returneras värdet false returnerar värdet true om ch är en bokstav, annars returneras värdet false boolean isletterordigit(char ch) returnerar värdet true om ch är en siffra eller bokstav, annars returneras värdet false boolean islowercase(char ch) boolean isuppercase(char ch) char tolowercase(char ch) char touppercase(char ch) returnerar värdet true om ch är en liten bokstav, annars returneras värdet false returnerar värdet true om ch är en stor bokstav, annars returneras värdet false om ch är en stor bokstav returneras motsvarande lilla bokstav annars returneras ch om ch är en liten bokstav returneras motsvarande stora bokstav annars returneras ch
7 Problemexempel Skriv ett Java-program som läser en mening från terminalen och räknar antalet vokaler, konsonanter och siffror. Analys: Indata: En sträng av godtyckliga tecken. Utdata: Utskrift av hur många vokaler, konsonanter respektive sif-fror som finns i den inlästa strängen. Exempel: Strängen ger utskriften: "1xfg2ÄåÖabcdeHI,% 3" Antalet vokaler är 6 Antalet konstanter är 7 Antalet siffror är 3
8 Design: Algoritm: 1. Läs strängen str 2. Sätt antsiffror =, antvokaler = och antkonsonanter = 3. För varje tecken ch i strängen 3.1. if (ch är en bokstav) if (ch är en vokal) antvokaler = antvokaler + 1; else antkonsonanter = antkonsonanter + 1; else if (ch är en siffra) antsiffror = antsiffror + 1; 4. Skriv ut antvokaler, antkonsonanter och antsiffror Datarepresentation: str är av datatypen String antsiffror, antvokaler, antkonsonanter är av typen int.
9 Diskussion: Att löpa igenom varje tecken i strängen str är enkelt - det första tecknet i strängen finns i position, strängens längd erhålls mha metoden str.length() och tecknet i position j i strängen fås mha metoden str.charat(j). För att avgöra om ett tecken är en bokstav eller om ett tecken är en siffra finns de båda metoderna isletter respektive isdigit i klassen Character.
10 Diskussion (fortsättning): Vårt egentliga problem är att ta reda på om ett tecken är en vokal! Vi skriver en metod för detta problem: public static boolean isvokal(char ch) Metoden returnerar värdet true om ch är en vokal, annars returneras värdet false. I metoden deklarerar vi en sträng som innehåller de bokstäver som är vokaler: String vokaler = "aeiouyåäö"; För att avgöra om tecknet ch är en vokal använder vi metoden indexof på strängen vokaler. Anropet vokaler.indexof(ch) ger värdet -1 om tecknet ch inte finns bland de tecken som ingår i strängen vokaler, annars ger anropet ett heltal större eller lika med. Eftersom strängen vokaler innehåller endast de "små" vokalerna, men ch givetvis kan vara en "stor" vokal måste ch översättas till sin "lilla" motsvarighet. Detta görs med metoden tolowercase som finns i klassen Character.
11 Implementation: Huvudprogrammet import javax.swing.*; public class Count { public static void main(string[] args) { while(true) { String indata = JOptionPane.showInputDialog("Ge en mening: "); if (indata == null) break; int antvokaler =, antkonsonanter =, antsiffror = ; for (int pos = ; pos < indata.length(); pos = pos + 1) { char teck = indata.charat(pos); if (Character.isLetter(teck)) if (isvokal(teck)) antvokaler = antvokaler + 1; else antkonsonanter = antkonsonanter + 1; else if (Character.isDigit(teck)) antsiffror = antsiffror + 1; } JOptionPane.showMessageDialog(null, "Antalet vokaler är " + antvokaler + "\nantalet konsonanter är " + antkonsonanter + "\nantalet siffror är " + antsiffror); }//while }//main
12 Implementation: metoden isvokal private static boolean isvokal(char ch) { String vokaler = "aeiouyåäö"; char smallch = Character.toLowerCase(ch); if (vokaler.indexof(smallch)!= -1) return true; else return false; }//isvokal }//Count
13 Tvådimensionella fält Tvådimensionella fält är fält av fält. int[][] tabell = new int[3][4]; tabell
14 Tvådimensionella fält Istället för att skapa ett tvådimensionellt fält med new kan fältet skapas genom att initiera värden till fältet vid deklarationen int[][] tabell = {{12, 34, 71, 9}, {53, 43, 33, 68}, {29, 1, 3, 42}}; Eftersom ett tvådimensionellt fält är ett fält med referenser till ett endimensionellt fält, kan raderna vara olika långa int[][] tabell = {{12, 34, 71, 9}, {53, 43, 33}, {29, 1}};
15 Tvådimensionella fält int[][] tabell = {{12, 34, 71, 9}, {53, 43, 33}, {29, 1}}; tabell[].length ger 4 tabell[1].length ger 3 tabell[2].length ger 2 Arrays.sort(tabell[]) sorterar rad i tabell Arrays.sort(tabell[1]) sorterar rad 1 i tabell Arrays.sort(tabell[2]) sorterar rad 2 i tabell
16 Problemexempel Skriv ett program som läser in en NxN matris, samt avgör och skriver ut huruvida matrisen är symmetrisk eller inte. Matrisens gradtal ges som indata. För en symmetrisk matris A gäller att a ij = a ji för alla i och j Analys: Indata: Ett gradtal samt en kvadratiskt matris med detta gradtal. Utdata: Utskrift av huruvida den inlästa matrisen är symmetrisk eller inte. Exempel: Matrisen ger utskriften MATRISEN ÄR SYMMETRISK, medan matrisen ger utskriften MATRISEN ÄR INTE SYMMETRISK, medan matrisen
17 Design: Diskussion: När vi skall kontrollera om matrisen är symmetrisk utgår vi från att så är fallet. För att handha denna kunskap sätter vi en boolsk variabel, som vi kan kalla okey till värdet true. Sedan genomlöper vi matrisen och om vi då påträffar något element a ij för vilket det gäller att a ij a ji har vi en icke-symmetrisk matris. Detta kommer vi ihåg genom att sätta okey till värdet false. Algoritm: 1. Läs gradtalet n 2. Läs matrisen A 3. okey = true; 4. För varje element a ij i matrisen A 4.1. if (a ij a ji ) okey = false; 5. if okey Skriv ut Matrisen är symmetrisk.. else Skriv ut Matrisen är INTE symmetrisk.. Datarepresentation: A är av datatypen double[][].
18 Implementation: import javax.swing.*; public class Symetrisk1 { public static void main(string[] args) { String indata; indata = JOptionPane.showInputDialog("Ange matrisens gradtal: "); int gradtal = Integer.parseInt(indata); double[][] matris = new double[gradtal][gradtal]; for (int rad = ; rad < gradtal; rad = rad + 1) for (int kol = ; kol < gradtal; kol = kol + 1) { indata = JOptionPane.showInputDialog("Ge element (" + rad + ", " + kol + ")"); matris[rad][kol] = Double.parseDouble(indata); } boolean okey = true; for (int rad = ; rad < gradtal; rad = i + 1) for (int kol = ; kol < gradtal; kol = kol + 1) if (matris[rad][kol]!= matris[kol][rad]) okey = false; if (okey) JOptionPane.showMessageDialog(null, Matrisen är symetrisk! ); else JOptionPane.showMessageDialog(null, Matrisen är INTE symetrisk! ); } // main } // Symetrisk1
19 Alternativ implementation: Underprogram import javax.swing.*; public class Symetrisk2 { public static void main(string[] args) { String indata = JOptionPane.showInputDialog("Ange matrisens gradtal: "); int gradtal = Integer.parseInt(indata); double[][] matris = readmatris(gradtal); if (issymetrisk(matris)) JOptionPane.showMessageDialog(null, "Matrisen är symetrisk!"); else JOptionPane.showMessageDialog(null, "Matrisen är INTE symetrisk!"); } // main
20 Alternativ implementation: Underprogram public static double[][] readmatris(int grad) { double[][] matrisen = new double[grad][grad]; for (int rad = ; rad < grad; rad = rad + 1) { for (int kol = ; kol < grad; kol = kol + 1) { String indata = JOptionPane.showInputDialog("Ge element (" + rad + ", " + kol + ")"); matrisen[rad][j] = Double.parseDouble(indata); } } return matrisen; } // readmatris public static boolean issymetrisk(double[][] matris) { boolean okey = true; for (int rad = ; rad < matris.length; rad = rad + 1) for (int kol = ; kol < matris[i].length; kol = kol + 1) if (matris[rad][kol]!= matris[kol][rad]) okey = false; return okey; }//issymetrisk } // Symetrisk2
21 Alternativ implementation av metoden readmatris, med användning av ett Scannerobjekt: import java.util.*;... public static double[][] readmatris(int grad) { double[][] matrisen = new double[grad][grad]; String indata = JOptionPane.showInputDialog( "Ge element :"); Scanner sc = new Scanner(indata); for (int i = ; i < grad; i = i + 1) { int j = ; while (j < grad) { if (sc.hasnextdouble()) { matrisen[i][j] = sc.nextdouble(); j = j + 1; } else { indata = JOptionPane.showInputDialog( "Ge fler element :"); sc = new Scanner(indata); } } } return matrisen; } // readmatris
22 Flerdimensionella fält Man kan ha ett godtyckligt antal dimensioner i ett fält, dvs man kan bilda fält av fält av fält av fält av... int[][][] cube = new int[3][3][4]; cube
23 Flerdimensionella fält En bild kan lagras som ett tvådimensionellt fält av bildpunkter (eller pixels). I en gråskalebild är varje bildpunkt ett heltal i intervallet [, 255], där betecknar svart och 255 betecknar vitt. I en färgbild utgörs varje bildpunkt av tre heltal i intervallet [, 255], som representerar intensiteten av färgerna rött, grönt respektive blått. En gråskalebild respektive en färgbild med höjden 8 pixels och bredden 6 pixels avbildas således enligt: int[][] grayimage = new int[8][6]; int[][][] colorimage = new int[8][6][3];
24 Klassen ArrayList Ett fält är en statisk datastruktur, vilket innebär att storleken på fältet måste anges när fältet skapas. Detta innebär att fält inte är särskilt väl anpassade för att handha dynamiska datasamlingar, dvs datasamlingar som under sin livstid kan variera i storlek. För att handha dynamiska datasamlingar i ett fält måste man själv utveckla programkod för att t.ex: - ta bort ett element ur fältet - lägga in ett nytt element på en given position i fältet - öka storleken på fältet om ett nytt element inte ryms. Klassen ArrayList är en standardklass (av flera) för all handha samlingar av objekt. Särskilt när vi handhar dynamiska datasamlingar, är det lämpligt att använda klassen ArrayList istället för ett endimensionellt fält. ArrayList finns i paketet java.util.
25 Klassen ArrayList<E> ArrayList<E>(); skapar en tom ArrayList för element av typen E. void add(e elem); lägger in elem sist i listan (d.v.s. efter de element som redan finns i listan). void add(int pos, E elem); lägger in elem på plats pos. Efterföljande element flyttas ett position framåt i listan. E get(int pos); returnerar elementet på plats pos. E set(int pos, E elem); ersätter elementet på plats pos med elem, returnerar elementet som fanns på platsen pos. E remove(int pos); tar bort elementet på plats pos, returnerar det borttagna elementet. Efterföljande element i listan flyttas en position baket i listan.
26 int size(); returnerar antalet element i listan. Klassen ArrayList<E> boolean isempty(); returnerar true om listan är tom, annars returneras false. int indexof(e elem); returnerar index för elementet elem om detta finns i listan, annars returneras -1. boolean cointains(object elem); returnerar true om elem finns i listan, annars returneras false. void clear(); tar bort alla element i listan. Anm: Metoderna indexof och cointains förutsätter att objekten i listan kan jämföras, d.v.s. klassen som objekten tillhör måste definiera metoden public boolean equals(object obj) Alla standardklasser, såsom String, Integer och Double, definierar metoden equals.
27 Klassen ArrayList Klassen ArrayList är en generisk klass. Detta innebär att när man skapar en lista av klassen ArrayList måste man ange en typparameter som specificerar vilken typ av objekt som skall lagras lagras i listan. Exempel: ArrayList<String> words = new ArrayList<String>(); ArrayList<Double> values = new ArrayList<Double>(); ArrayList<BigInteger> bigvalues = new ArrayList<BigInteger>(); ArrayList<Person> members = new ArrayList<Person>(); I en ArrayList kan man endast spara objekt, dvs. de en ArrayList kan inte innehålla de primitiva datatyperna (t.ex. int, double, boolean och char). Vill man handha primitiva datatyper med hjälp av en ArrayList måste man lagra objekt av motsvarande omslagsklass.
28 Autoboxing och auto-unboxing Typomvandling sker automatiskt mellan primära datatyper och motsvarande omslagsklass. Detta kallas för autoboxing respektive auto-unboxing. Istället för att skriva Integer talobjekt = new Integer(1);... int tal = talobjekt.tovalue(); kan man skriva Integer talobjekt = 1;... int tal = talobjekt; //autoboxing //auto-unboxing
29 Problemexempel En indatasekvens består av osorterade positiva heltal. I indatasekvensen kan samma tal förekomma flera gånger. Skriv ett program som lagrar indatasekvensen i en lista på så sätt att alla dubbletter är borttagna, d v s endast första förekomsten av varje unikt tal skall lagras i listan. Inmatningen görs med användning av dialogrutor och datasekvensen avslutas att trycka på Cancel-knappen. Analys: Indata: Utdata: Exempel: En sekvens av positiva heltal. Den inlästa sekvensen med alla dubbletter borttagna. Indatasekvensen ger utskriften
30 Design: Algoritm: 1. while (fler tal att läsa) 2.1. Läs talet 2.2. Kontrollera om talet finns i listan 2.3. if (talet inte finns i listan ) lagra talet i listan; 3. Skriv ut listan Datarepresentation: talet är av datatypen int. listan är av datatypen ArrayList.
31 Implementation: import javax.swing.*; import java.util.*; public class EjDubletter { private static ArrayList<Integer> readlista() { ArrayList<Integer> listan = new ArrayList<Integer>(); String indata = JOptionPane.showInputDialog("Ange indataserien: "); if (indata!= null) { Scanner sc = new Scanner(indata); while (sc.hasnextint()) { int talet = sc.nextint(); if (!listan.contains(talet)) { listan.add(talet); } }//while }//if return listan; } // readlista
32 Implementation: Fortsättning public static void writelista(arraylist<integer> listan) { if (listan.isempty()) JOptionPane.showMessageDialog(null, "Listan är tom"); else { String utdata = ""; for (int i = ; i < listan.size(); i = i +1) { utdata = utdata + listan.get(i) + " "; } JOptionPane.showMessageDialog(null, utdata); } } // writelista public static void main(string[] args) { ArrayList<Integer> lista = readlista(); writelista(lista); } // main } //EjDubletter
33 Förenklad for-sats När man vill löpa igenom alla objekt i en samlingar (t.ex. et objekt av ArrayList eller ett en-dimensionellt fält) finns den förenklade for-satsen. Genomlöpning av hela samlingarna med den vanliga for-satsen double[] values = new double[1]; ArrayList<String> listan = new ArrayList<String>();... for (int index = ; index < values.length; index = index +1) System.out.println(values[index]); for (int pos = ; pos < listan.size(); pos = pos +1) System.out.println(listan.get(pos)); Genomlöpning av hela samlingarna med den förenklade for-satsen double[] values = new double[1]; ArrayList<String> listan = new ArrayList<String>();... for (double v : values) System.out.println(v); for (String str : listan) System.out.println(str);
34 Alternativ implementation av metoden writelist: public static void writelista(arraylist<integer> listan) { if (listan.isempty()) JOptionPane.showMessageDialog(null, "Listan är tom"); else { String utdata = ""; for (Integer i : listan) { utdata = utdata + i + " "; } JOptionPane.showMessageDialog(null, utdata); } } // writelista
Klassen String Mer om fält Något om inläsning
Standardklassen String TDA43 I Programmerade system Föreläsning (OH-bilder 8) Klassen String Mer om fält Något om inläsning Christer Carlsson Texter handhas i Java med standardklassen String. Ett objekt
Tvådimensionella fält
Tvådimensionella fält Tvådimensionella fält är fält av fält. int[][] tabell = new int[][4]; tabell Tvådimensionella fält Istället för att skapa ett tvådimensionellt fält med new kan fältet skapas genom
I ett program hantera man ofta samlingar av objekt av samma typ.
Fält I ett program hantera man ofta samlingar av objekt av samma typ. Sådana samlingar vill man vanligtvis kunna gruppera ihop till en sammanhängande struktur. För detta ändamål tillhandahåller Java språkkonstruktioner
Flerdimensionella fält och textfiler
Flerdimensionella fält och textfiler Föreläsning 7 TDA54 - Objektorienterad Programmering Sammanfattning Fält (arrays) Sträng In- och utmatning av data Utan att kunna läsa och skriva data skulle de flesta
Föreläsning 7. Fält Klassen String
Föreläsning 7 Fält Klassen String Fält I ett program hantera man ofta samlingar av objekt av samma typ. Sådana samlingar vill man vanligtvis kunna gruppera ihop till en sammanhängande struktur. För detta
Fält och klassen String
Fält och klassen String Föreläsning 6 TDA540 - Objektorienterad Programmering Meddelande Ni får inte ändra Robot.java Börjar med rätta efter deadlinen Sammanfattning Abstraktion Abstraktion Abstraktion
Objektorienterad programmering
Objektorienterad programmering Föreläsning 7: flerdimensionella fält och textfiler Dr. Alex Gerdes Dr. Carlo A. Furia Hösttermin 216 Chalmers University of Technology Sammanfattning föreläsning 6 Endimensionella
Föreläsning 6. Fält. Fält Klassen String. Fält
Föreläsning 6 Fält Fält Klassen Klassen String String Fält I ett program hantera man ofta samlingar av objekt av samma typ. Sådana samlingar vill man vanligtvis kunna gruppera ihop till en sammanhängande
Objektorienterad programmering
Objektorienterad programmering Föreläsning 6: fält och klassen String Dr. Alex Gerdes Dr. Carlo A. Furia Hösttermin 2016 Chalmers University of Technology Sammanfattning föreläsning 5 Abstraktion Abstraktion
Repetition av OOP- och Javabegrepp
ArrayList Repetition av OOP- och Javabegrepp En lista i vilken man kan lagra objekt Implementerar List-interfacet Skiljer sig från ett vanligt endimensionellt fält: Dynamisk expanderar när den blir
Repetition av OOP- och Javabegrepp
ArrayList Repetition av OOP- och Javabegrepp En lista i vilken man kan lagra objekt Implementerar List-interfacet Skiljer sig från ett vanligt endimensionellt fält: Dynamisk expanderar när den blir
Föreläsning 8 Flerdimensionella fält ArrayList enum switch-satsen
Föreläsning 8 Flerdimensionella fält ArrayList enum switch-satsen Tvådimensionella fält Tvådimensionella fält är fält av fält. int[][] tabell = new int[3][4]; tabell 1 2 1 2 3 3 1 2 3 1 1 2 3 1 2 2 Tvådimensionella
Föreläsning 7. Flerdimensionella fält ArrayList. Flerdimensionella. ArrayList. In- och utmatning av data
Föreläsning 7 Läsa Läsa och och skriva skriva textfiler textfiler Flerdimensionella Flerdimensionella fält fält ArrayList ArrayList In- och utmatning av data Utan att kunna läsa och skriva data skulle
Föreläsning 7. for-satsen Fält
Föreläsning 7 for-satsen Fält for-satsen for-sats är en styrsats för iterationer. for-sats har följande generella utseende: for (initiering; villkor; ändring) sats; for-satsen är ekvivalent med följande
Föreläsning 7. Föreläsning 7. Fält Klassen String. Fält Klassen String. Fält. I ett program hantera man ofta samlingar av objekt av samma typ.
Föreläsning 7 Föreläsning 7 Fält Klassen String Fält Klassen String Fält I ett program hantera man ofta samlingar av objekt av samma typ. Sådana samlingar vill man vanligtvis kunna gruppera ihop till en
EDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass
EDAA20 Föreläsning 11-12 Klassen ArrayList Klassen ArrayList Skriva program som läser data från en textfil och skriver data till en textfil Repetition inför delmålskontroll 2 är en standardklass (i paketet
Föreläsning 8. Föreläsning 8 Flerdimensionella fält ArrayList enum. Flerdimensionella. ArrayList enum switch-satsen. switch-satsen
Föreläsning 8 Flerdimensionella fält ArrayList enum Flerdimensionella fält switch-satsen Föreläsning 8 ArrayList enum switch-satsen Tvådimensionella fält Tvådimensionella fält är fält av fält. int[][]
for-satsen Fält for-satsen Föreläsning 8 (OH-bilder 7) for-satsen for-sats är en styrsats för iterationer. for-sats har följande generella utseende:
for-satsen for-sats är en styrsats för iterationer. for-sats har följande generella utseende: TDA143 I1 Programmerade system Föreläsning 8 (OH-bilder 7) for-satsen for ( initiering; villkor; ändring) sats;
Föreläsning 8. Föreläsning 8 Flerdimensionella fält ArrayList enum. Flerdimensionella. ArrayList enum switch-satsen. switch-satsen
Föreläsning 8 Flerdimensionella fält ArrayList enum Flerdimensionella switch-satsen Föreläsning 8 ArrayList enum switch-satsen Tvådimensionella fält Tvådimensionella fält är fält av fält. int[][] tabell
Föreläsning 3. Iteration while-satsen
Föreläsning 3 Iteration while-satsen Datatypen double I en dator kan man inte lagra hur stora eller hur små tal som helst. De enkla datatyperna, som används för att lagra tal (t.ex. int och double), har
Föreläsning 7. Föreläsning 7
Föreläsning 7 I ett program hantera man ofta samlingar av objekt av samma typ. Klassen String Föreläsning 7 Sådana samlingar vill man vanligtvis kunna gruppera ihop till en sammanhängande struktur. För
Saker du ska kunna Föreläsning 13 & 14
Saker du ska kunna Föreläsning 13 & 14 LISTOR Ta bort element från en vektor Både sorterad och osorterad Söka upp element i en vektor Linjärsökning räcker (jag har även visat binärsökning) Registrering
Iteration while-satsen
Datatypen double TDA143 I1 Programmerade system Föreläsning 3 (OH-bilder 3) Iteration while-satsen Christer Carlsson I en dator kan man inte lagra hur stora eller hur små tal som helst. De enkla datatyperna,
OOP Objekt-orienterad programmering
OOP F6:1 OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList tostring() metoden this Vi vill ofta hantera många objekt i ett program: OOP F6:2 public
Föreläsning 3. Iteration. while-satsen for-satsen do-satsen
Föreläsning 3 Iteration while-satsen for-satsen do-satsen Datatypen double De enkla datatyperna, som används för att lagra tal (t.ex. int och double), har en begränsad storlek och representerar således
Instuderingsfrågor, del D
Uppgift 1. Instuderingsfrågor, del D Objektorienterad programmering, Z1 I vilka av nedanstående problem behöver man använda sig av fält för att få en elegant lösning? I vilka problem är det är det onödigt/olämpligt
Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)
Föreläsning 10 STRING OCH STRINGBUILDER; VARIABLERS SYNLIGHET Att deklarera och att använda variabler När vi deklarerar en variabel, t ex int x; inför vi en ny variabel med ett namn och en typ. När namnet
Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0..
Ett problem Kontrollstrukturer och er Hur sparas data T ex när man vill spara resultaten av en tävling Exempel med 3 deltagare: public class Competition private int result1; private int result2; private
Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540. Tentamen för TDA540 Objektorienterad programmering
Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540 Tentamen för TDA540 Objektorienterad programmering DAG: 15-04-18 TID: 14:00 18:00 Ansvarig: Joachim von Hacht och Christer Carlsson
Institutionen för TENTAMEN CTH HT-14 Datavetenskap TDA540. Tentamen för TDA540 Objektorienterad programmering
Institutionen för TENTAMEN CTH HT-14 Datavetenskap 2015-01-17 TDA540 Tentamen för TDA540 Objektorienterad programmering DAG: 15-01-17 TID: 14:00 18:00 Ansvarig: Joachim von Hacht och Christer Carlsson
Exempel. Arrayer. Lösningen. Ett problem. Arrayer och hakparanteser. Arrayer
Exempel for (int antal=; antal < 75; antal++) System.out.println (antal); Arrayer for (int num=5; num
Arrayer. results
Arrayer 85 Arrayer Deklarerar utrymme för många variabler i en enda deklaration Array (fält) Varje värde har ett numeriskt index i Java indexeras en array med N element med indexen till N-1 Exempel: 1
Föreläsning REPETITION & EXTENTA
Föreläsning 18 19 REPETITION & EXTENTA Programmeringsteknik på 45 minuter Klasser och objekt Variabler: attribut, lokala variabler, parametrar Datastrukturer Algoritmer Dessa bilder är inte repetitionsbilder
Föreläsning 8. Föreläsning 8 Textfiler Flerdimensionella fält ArrayList enum switch-satsen
In- och utmatning av data Föreläsning 8 Textfiler Flerdimensionella fält ArrayList enum switch-satsen Utan att kunna läsa och skriva data skulle de flesta program vara ganska meningslösa. Den data som
Dagens text. Programmeringsteknik. Mer om Scanner-klassen. Dialogrutor (klassen JOptionPane) Bubbelsortering. Omslagsklasser.
(16 februari 2016 F5.1 ) Dagens text Programmeringsteknik Mer om Scanner-klassen Dialogrutor (klassen JOptionPane) Bubbelsortering ArrayList Omslagsklasser Arbetsexempel (16 februari 2016 F5.2 ) Pokertärningar
Tentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-15, TDA540. Dag: , Tid:
Tentamen för TDA40 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-, TDA40 Dag: 206-0-6, Tid: 4.00-8.00 Ansvarig: Examinator: Alex Gerdes Joachim von Hacht och Christer Carlsson Förfrågningar:
Lösningsförslag: Instuderingsfrågor, del A
Uppgift 1. Objektorienterad programmering, Z1 Lösningsförslag: Instuderingsfrågor, del A Följande regler gäller för namngivning av identifierare i Java: 1. Ett identifierarnamn består endast av bokstäver,
Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek
De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000
Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-16, TDA540. Dag: , Tid:
Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-16, TDA540 Dag: 2017-04-12, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar:
Föreläsning 8. Föreläsning 8
In- och utmatning av data Utan att kunna läsa och skriva data skulle de flesta program vara ganska meningslösa. Föreläsning 8 Den data som ett program är beroende av kan t.ex. Textfiler Flerdimensionella
Mer om klasser och objekt
Klassvariabler och klassmetoder En klass kan innehålla klassvariabler och klassmetoder. TDA143 I1 Programmerade system Föreläsning 5 (OH-bilder 5) Mer om klasser och objekt Christer Carlsson Det som skiljer
Iteration. Föreläsning 3. TDA540 - Objektorienterad Programmering
Iteration Föreläsning 3 TDA540 - Objektorienterad Programmering Meddelande Kursrepresentanter: - Mattias Ajander, Daniel Hultgren, Sanna Sandberg - Mejladresserna finns på kurshemsidan Jätte välkommen
Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling
metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man
Föreläsning Innehåll. Hantera många element. Exempel: polygon Godtyckligt antal element. Exempel: polygon forts
Föreläsning 11-12 Innehåll Hantera många element Tidigare har vi använt vektorer för att lagra många element av samma tp. Eempel: Klassen ArraList Inläsning från tetfil, utskrift på tetfil int[] nbrs
Föreläsning 3. Föreläsning 3. Iteration. while-satsen for-satsen do-satsen. while-satsen. do-satsen. Datatypen double
Föreläsning 3 Föreläsning 3 Iteration while-satsen for-satseniteration do-satsen while-satsen for-satsen do-satsen Datatypen double De enkla datatyperna, som används för att lagra tal (t.ex. int och double),
Lösningsförslag till tentamen
Uppgift 1 Lösningsförslag till tentamen 140828 a) public class MyMax { public static void main(string[] args) { //5 ändra String till String[] System.out.println("Maximum is: " + maximum(5, 7)); //2 ändra
Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-15, TDA540. Dag: , Tid:
Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-15, TDA540 Dag: 2016-04-09, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Joachim von Hacht och Christer
Objektorienterad programmering
Objektorienterad programmering Iteration: while-satsen, for-satsen och do-satsen Dr. Alex Gerdes Dr. Carlo A. Furia Hösttermin 2016 Chalmers University of Technology Meddelande Studentrepresentanter Reflektera
Den som bara har en hammare tror att alla problem är spikar
Introduktion Föreläsning (Weiss kap. -4) Många begrepp blir det Introduktion till kursen Exempel: Datastrukturen mängd Generiska Den som bara har en hammare tror att alla problem är spikar Vilken
Dagens text. Programmeringsteknik. Mer om Scanner-klassen. Dialogrutor (klassen JOptionPane) Bubbelsortering. Omslagsklasser.
(1 oktober 2017 F5 1 ) Dagens text Programmeringsteknik Mer om Scanner-klassen Dialogrutor (klassen JOptionPane) Bubbelsortering ArrayList Omslagsklasser Arbetsexempel (1 oktober 2017 F5 2 ) Pokertärningar
Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar
Föreläsning 3-4 Innehåll
Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå
Abstrakt datatyp. -Algoritmer och Datastrukturer- För utveckling av verksamhet, produkter och livskvalitet.
-Algoritmer och Datastrukturer- Abstrakt datatyp Datatyp för en variabel Betecknar i ett programmeringsspråk den mängd värden variabeln får anta. T ex kan en variabel av typ boolean anta värdena true och
Tentamen i Grundläggande Programvaruutveckling, TDA548
Tentamen i Grundläggande Programvaruutveckling, Joachim von Hacht/Magnus Myreen Datum: 2017-08-14 Tid: 14.00-18.00 Hjälpmedel: Lexikon Engelskt-Valfritt språk. Betygsgränser: U: -23 3: 24-37 4: 38-47 5
F12 - Collections. ID1004 Objektorienterad programmering Fredrik Kilander
F12 - Collections ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Collections (samlingar) En collection är ett objekt som fungerar som en samling av andra objekt En collection erbjuder
Instuderingsfrågor, del E
Uppgift 1. Instuderingsfrågor, del E Objektorienterad programmering, Z1 Skriv en en deklaration som skapar ett 2-dimensionellt heltalsfält med följande utseende: 1 3 6 10 2 5 9 13 4 8 12 15 7 11 14 16
ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet
ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,
Lösningsförslag: Instuderingsfrågor, del D
Uppgift 1. Objektorienterad programmering, Z1 Lösningsförslag: Instuderingsfrågor, del D a) Inget fält behövs. Man kan läsa in ett tal i taget och addera dessa till summan. b) Här behövs ett fält. c) Här
Laboration 3. Redovisning Uppgifterna skall vara demonstrerade och godkända av en handledare senast måndag 22/2.
Programmerade system I. Syfte Syftet med denna laboration är att få övning i att strukturera sina program genom att använda metoder och klasser, samt att få övning i att använda sig av fält och for-satsen.
Lösningsförslag till tentamen
Uppgift 1 Lösningsförslag till tentamen 150117 a) Utskriften blir: 7 Metoden returnerar värdet av den största siffran som ingår i talet som skickas till metoden. b) Utskriften blir k= 5 a= [3, 1] b= [3,
Lösningsförslag till tentamen 150317
Uppgift 1 Lösningsförslag till tentamen 150317 1) Sant 2) Falskt. I ett RAM-minne är åtkomsttiden densamma för alla minnesadresser.) 3) Falskt. Det är TCP som använder sig av en fast kommunikationsförbindelse.)
Lösningsförslag till tentamen
Uppgift 1 Lösningsförslag till tentamen 150418 a) i) Utskriften blir: ii) [8, 3, 9, 4, 5] Metoden mystery flyttar om elementen i fältet arr på så sätt att alla elementen, förutom det första, flyttas ett
JAVAUTVECKLING LEKTION 8
JAVAUTVECKLING LEKTION 8 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Fält (Arrayer) Att skapa och arbeta med fält Indexering Jämförelse av fält Flerdimensionella fält 1 VAD
Laboration 4: Digitala bilder
Objektorienterad programmering, Z : Digitala bilder Syfte I denna laboration skall vi återigen behandla transformering av data, denna gång avseende digitala bilder. Syftet med laborationen är att få förståelse
Föreläsning 1. Abstrakta datatyper, listor och effektivitet
Föreläsning 1 Abstrakta datatyper, listor och effektivitet Föreläsning 1 Datastrukturer Abstrakta DataTyper ADT Lista Lista och Java Collections Framework (ArrayList) Lista implementerad med en array Analys
Samlingar Collection classes
Samlingar Collection classes Sven-Olof Nyström Uppsala Universitet 17 mars 2005 Skansholm: Kapitel 9, 19 Se även Suns tutorial om Collections Olika slag av samlingar i Java Arrayer (Till exempel: int[])
Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod
Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer
Del A (obligatorisk för alla)
Del A (obligatorisk för alla) A1. Ringa in rätt svarsalternativ eller skriv svar i ruta om sådan a) Satsen double x = (int)(1 + 3/2.0) + 3.; resulterar i b) Satsen int x = (int)(1 + 3/2.0) + 3.; resulterar
Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Lösningsförslag till tentamen
Uppgift 1 Lösningsförslag till tentamen 110317 a) Sant. b) Falskt. I ett RAM-minne är åtkomsttiden densamma för alla minnesadresser. c) Falskt. TCP är ett protokoll på transportlagret. d) Falskt. Binärsökning
Lösningsförslag till tentamen
Uppgift 1 Lösningsförslag till tentamen 140423 a) Vad kompilatorn klagar på är att metoden Math.sqrt() inte finns! Detta kan ju verka något mystiskt eftersom vi alla vet att det i klassen Math finns en
Tentamen , Introduktion till Java, dtaa98, dtea53
Mittuniversitetet 2007-09-01 Institutionen för informationsteknologi och medier Sid:1(3) dtaa98, dtea53 Martin Kjellqvist; Linda Karlsson, Ulf Reiman Lösningsansatser Tentamen 2007-09-01, Introduktion
Objektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
Samlingar Collection classes
Samlingar Collection classes Sven-Olof Nyström Uppsala Universitet 17 juni 2005 Skansholm: Kapitel 9, 19 Se även Suns tutorial om Collections 1 Motivation: Vill samla olika datastrukturer för att representera
Tommy Färnqvist, IDA, Linköpings universitet
Föreläsning 9 Pekare, länkade noder, länkade listor TDDD86: DALP Utskriftsversion av föreläsning i Datastrukturer, algoritmer och programmeringsparadigm 25 september 2015 Tommy Färnqvist, IDA, Linköpings
PROGRAMMERING-Java TENTAMINA
PROGRAMMERING-Java TENTAMINA Nicolina Månsson 2010-03-17 Tentamensinstruktioner Poängsättning Hela tentamen omfattar 42 poäng. Poäng för varje uppgift står angivet inom parentes före varje uppgift. - För
Objektorienterad Programkonstruktion
Objektorienterad Programkonstruktion Övning 3 Stränghantering Filer Christian Smith ccs@kth.se 1 Strängar Strängar definieras i klassen String Strängar kan instansieras med bokstavliga (eng: literal) strängar,
Lösningsförslag till tentamen
Uppgift 1 Lösningsförslag till tentamen 170314 a) Falskt. Talområdet för ett 8-bitars tal på tvåkomplementsform är -128 till 127. b) Sant. c) Falskt, HTTP är ett kommunikationsprotokoll som används för
Lösningsförslag till tentamen
Uppgift 1 Lösningsförslag till tentamen 131220 a) Första felet beror på att namnet på klassen är felstavat i konstruktorn! Således har vi ingen konstruktor utan en metod med namnet Trubel. En metod måste
Arrayer (fält)
Arrayer (fält) 1 Vad kommer vi att ta upp om arrayer? Deklarera och initiera arrayen Lägga till i arrayen Ta ut på indexposition Ta reda på arrayens längd Sortera arrayen Söka igenom arrayen Loopa igenom
Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2
AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga
Tentamen i Grundläggande Programvaruutveckling, TDA548
Tentamen i Grundläggande Programvaruutveckling, Joachim von Hacht/Magnus Myreen Datum: 2016-12-20 Tid: 08.30-12.30 Hjälpmedel: Engelskt-Valfritt språk lexikon Betygsgränser: U: -23 3: 24-37 4: 38-47 5
Föreläsning 10. ADT:er och datastrukturer
Föreläsning 10 ADT:er och datastrukturer ADT:er och datastrukturer Dessa två begrepp är kopplade till varandra men de står för olika saker. En ADT (abstrakt datatyp) är just abstrakt och är inte kopplad
Föreläsning 10 OM DELMÅLSKONTROLLEN ; VARIABLERS SYNLIGHET STRING OCH STRINGBUILDER
Föreläsning 10 OM DELMÅLSKONTROLLEN ; VARIABLERS SYNLIGHET STRING OCH STRINGBUILDER Denna vecka Läsperiodens sista föreläsning Uppsamlingslabb (laboration 6 redovisas först nästa läsperiod) Ingen resurstid
TENTAMEN OOP
TENTAMEN OOP 2014-01-19 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Listor. Koffman & Wolfgang kapitel 2, avsnitt , och 2.9
Listor Koffman & Wolfgang kapitel 2, avsnitt 2.1 2.3, 2.5 2.6 och 2.9 Figur 2.1, sid 63 java.util.list, med dess implementeringar 2 List och primitiva typer En array kan innehålla primitiva typer: int[],
TENTAMEN OOP
TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P
UME UNIVERSITET Datavetenskap 981212 TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P Datum : 981212 Tid : 9-15 HjŠlpmedel : Inga Antal uppgifter : 9 TotalpoŠng : 60 (halva pošngtalet kršvs normalt fšr
Tentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
Kapitel 6. Hakparenteser fšr att ange index MŒnga všrden av samma typ
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
Föreläsning 2 Innehåll
Föreläsning 2 Innehåll Java Collections Framework (interface och klasser för samlingar av element) Använda generiska klasser autoboxing - och unboxing Iterera genom en samling element Jämföra element skugga
Föreläsning 2. Primitiva datatyper Selektering
Föreläsning 2 Primitiva datatyper Selektering Hit kom vi förra föreläsningen /* Programmet läser in och adderar två heltal, samt skriver ut resultatet. */ import javax.swing.*; public class Addera { public
Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-15, TDA540. Dag: , Tid:
Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-15, TDA540 Dag: 2016-08-25, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Joachim von Hacht och Christer
Enkla variabler kontra referensvariabel
Enkla variabler kontra referensvariabel En variabel är ett namngivet minnesutrymme i datorns primärminne. En variabel som används för att representera en primitiv datatyp kallas för enkel variabel. Deklarationssatsen
PROG2 Tenta Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2
DSV SU/KTH sid 1 (7) PROG2 PROG2 Tenta 2014-01-17 Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2 Tentan består av tre uppgifter. Max poäng är 38. För betyget E (godkänd) krävs minst
Datastrukturer. Föreläsning Innehåll. Program med vektor Exempel. Deklarera vektorer
Föreläsning 1-12 Innehåll Vektorer Registrering (räkna element av olika slag) Sökning Matriser Klasserna String och StringBuilder Repetition inför delmålskontroll 2 Undervisningsmoment: föreläsning 1-12
Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering
Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-16, TDA540 Dag: 2017-01-09, Tid: 14.00-18.00 Uppgift 1 a) class används för en klassdeklaration
Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Java Collections Framework. Föreläsning 2 Innehåll. Java Collections Framework interface hierarki. Java Collections Framework interface hierarki
Föreläsning 2 Innehåll Java Collections Framework (interface och klasser för samlingar av element) Använda generiska klasser autoboxing - och unboxing Iterera genom en samling element Jämföra element skugga
Uppgift: Algoritm för att beräkna kontrollsiffran i ett personnummer givet de 9 första siffrorna. Torrsimning av algoritm för personnummer
F6 Observera att när man utvecklar program så är inte alla lösningar på vägen korrekta. Speciellt den här gången så finns många OH med program som inte fungerar eftersom det är just det vi skall se på