Klassen String Mer om fält Något om inläsning
|
|
- Klara Strömberg
- för 7 år sedan
- Visningar:
Transkript
1 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 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 jämförare. En jämförare är ett objekt av klassen Collactor, som finns i paketet java.text.collator. En jämförare deklareras på följande sätt: Collator co = Collator.getInstance(); varvid de språkkonvensioner som är satta till default erhålls. Alternativt kan man vid skapadet av jämföraren ange vilka språkkonvensioner som skall användar: Collator co = Collator.getInstance(new Locale("sv", "SE")); Texter kan jämföras med metoderna compare eller equals: co.compare(s,s) co.equals(s, s) 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) ger värdet om s och s är alfabetiskt lika, ett värde < om s kommer för s och ett värde > s kommer för s. ger true om s och s är alfabetiskt lika, annars fås värdet false. Skiljer endast på olika bokstäver. Skiljer på små och stora bokstäver. Skiljer på små och stora bokstäver, samt på utsmyckade bokstäver. Metoder i standardklassen String Metoder i standardklassen String int length() char charat(int index) int compareto(string str) String concat(string str) ger antalet tecken i aktuell sträng ger tecket i position index gör alfabetisk jämför 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 lägger till str efter aktuell sträng int indexof(string str) int lastindexof(string str) String replace (char oldchar, char newchar) ger första förekomsten av strängen str i den aktulla strägen, om str inte finns returneras - ger sista förekomsten av strängen str i den aktulla strägen, om str inte finns returneras - ger en kopia av aktuell sträng där alla förekomster av tecknet oldchar bytts mot tecknet newchar boolean equals(string str) ger true om str är lika med aktuell sträng, annars ges värdet false String substring(int index) ger den delsträng av aktuell sträng som börjar i position index boolean equalsignorecase(string str) int indexof(char c) int lastindexof(char c) int indexof(char c, int n) 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 ger första förekomsten av tecknet c i den aktulla strägen, om c inte finns returneras - ger sista förekomsten av tecknet c i den aktulla strägen, om c inte finns returneras - ger positionen för första förekomsten av tecknet c från position n och framåt String substring(int startindex, int endindex) String tolowercase() String touppercase() String trim() static String valueof(int n)... ger den delsträng av aktuell sträng som börjar i position startindex och slutar i position endindex- ger en kopia av aktuell sträng där alla versaler har bytts ut mot gemener ger en kopia av aktuell sträng där alla gemener har bytts ut mot versaler ger en kopia av aktuell sträng där inledande och avslutande blanka tecken och tabulator-tecken tagits bortstring (String str) returnerar texten som motsvarar heltalet n 3 4
2 Exempel Några metoder i standardklassen Character int getnumericvalue(char ch) boolean isdigit(char ch) boolean isletter(char ch) boolean isletterordigit(char ch) boolean islowercase(char ch) boolean isuppercase(char ch) char tolowercase(char ch) char touppercase(char ch) ger Unicode för ch siffra, annars returneras värdet false bokstav, annars returneras värdet false siffra eller bokstav, annars returneras värdet false liten bokstav, annars returneras värdet false 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 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 siffror som finns i den inlästa strängen. Exempel: Strängen Design: Algoritm: "xfgäåöabcdehi,%3" ger utskriften Antalet vokaler är 6 Antalet konstanter är 7 Antalet siffror är 3. Läs strängen str. Sätt antsiffror =, antvokaler = och antkonsonanter = 3. För varje tecken ch i strängen 3.. if (ch är en bokstav) if (ch är en vokal) antvokaler = antvokaler + ; antkonsonanter = antkonsonanter + ; if (ch är en siffra) antsiffror = antsiffror + ; 4. Skriv ut antvokaler, antkonsonanter och antsiffror Datarepresentation: str är av datatypen String antsiffror, antvokaler, antkonsonanter är av typen int. 5 6 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. 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 vokal, annars returnerars 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 - 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. Implementation: import javax.swing.*; public class Count { private static boolean isvokal(char ch) { String vokaler = "aeiouyåäö"; char smallch = Character.toLowerCase(ch); if (vokaler.indexof(smallch)!= -) return true; return false; //isvokal 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 + ) { char teck = indata.charat(pos); if (Character.isLetter(teck)) if (isvokal(teck)) antvokaler = antvokaler + ; antkonsonanter = antkonsonanter + ; if (Character.isDigit(teck)) antsiffror = antsiffror + ; JOptionPane.showMessageDialog(null, "Antalet vokaler är " + antvokaler + "\nantalet konsonanter är " + antkonsonanter + "\nantalet siffror är " + antsiffror); //while //main //Count 7 8
3 Flerdimensionella fält Förekommer ofta i verkliga livet. Flerdimensionella fält int[][] tabell = {{, 34, 7,9, {53, 43, 33, 68, {9,, 3, 4; Flerdimensionella fält är fält av fält. int[][] tabell = new int[3][4]; tabell Eftersom ett flerdimensionellt fält är ett fält med referenser till ett endimensionellt fält, kan raderna vara olika långa int[][] tabell = {{, 34, 7,9, {53, 43, 33, {9, ; Flerdimensionella fält int[][] tabell = {{, 34, 7,9, {53, 43, 33 {9, ; tabell[].length ger 4 tabell[].length ger 3 tabell[].length ger Exempel Skriv ett program som läser in en NxN matris, samt avgör och skriver ut huruvida matrisen är symetrisk eller inte. Matrisens gradtal ges som indata. För en symetrisk matris A gäller att a ij = a ji för alla i och j Arrays.sort(tabell[]) sorterar rad i tabell Arrays.sort(tabell[]) sorterar rad i tabell Arrays.sort(tabell[]) sorterar rad i tabell
4 Analys: Indata: Ett gradtal samt en kvadratiskt matris med detta gradtal. Utdata: Utskrift av huruvida den inlästa matrisen är symetrisk eller inte. Exempel: Matrisen ger utskriften MATRISEN ÄR SYMETRISK, medan matrisen ger utskriften MATRISEN ÄR INTE SYME- TRISK, medan matrisen Design: Diskussion: När vi skall kontrollera om matrisen är symetrisk 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 matriselementen 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-symetrisk matris. Detta kommer vi ihåg genom att sätta okey till värdet false. Algoritm:. Läs gradtalet n. Läs matrisen a 3. okey = true; 4. För varje element a ij i matrisen a 4.. if (a(i,j) a(j,i)) okey = false; 5. if okey Skriv ut Matrisen är symetrisk.. Skriv ut Matrisen är INTE symetrisk.. Datarepresentation: A är av datatypen double[][]. 3 4 Implementation: import javax.swing.*; public class Symetrisk { 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 + ) for (int kol = ; kol < gradtal; kol = kol + ) { indata = JOptionPane.showInputDialog( "Ge element (" + rad + ", " + kol + ")"); matris[rad][kol] = Double.parseDouble(indata); boolean okey = true; for (int rad = ; rad < gradtal; rad = i + ) for (int kol = ; kol < gradtal; kol = kol + ) if (matris[rad][kol]!= matris[kol][rad]) okey = false; if (okey) JOptionPane.showMessageDialog(null, Matrisen är symetrisk! ); JOptionPane.showMessageDialog(null, Matrisen är INTE symetrisk! ); // main // Symetrisk Alternativ implementation: Underprogram import javax.swing.*; public class Symetrisk { public static void main(string[] args) { String indata; indata = JOptionPane.showInputDialog("Ange matrisens gradtal: "); int gradtal = Integer.parseInt(indata); double[][] matris = readmatris(gradtal); if (issymetrisk(matris)) JOptionPane.showMessageDialog(null, Matrisen är symetrisk! ); JOptionPane.showMessageDialog(null, Matrisen är INTE symetrisk! ); // main public static double[][] readmatris(int grad) { double[][] matrisen = new double[grad][grad]; for (int rad = ; rad < grad; rad = rad + ) { for (int kol = ; kol < grad; kol = kol + ) { 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 + ) for (int kol = ; kol < matris[i].length; kol = kol + ) if (matris[rad][kol]!= matris[kol][rad]) okey = false; return okey; // Symetrisk 5 6
5 Alternativ implementation av metoden readmatris, med användning av ett Scanner-objekt: 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 + ) { int j = ; while (j < grad) { if (sc.hasnextdouble()) { matrisen[i][j] = sc.nextdouble(); j = j + ; { indata = JOptionPane.showInputDialog( "Ge fler element :"); sc = new Scanner(indata); return matrisen; // readmatris Läsning och skrivning Att göra utskrifter är i Java oproblematiskt, men att läsa från tangentbordet (eller andra enheter) är inte lika lätt. Därför har vi hittills använt den dialogruta för inmatning som Swing tillhandahåller (JOptionPane.showDialog). Swing s dialogrutor kan dock ibland vara ganska "klumpiga" att använda. Av denna orsak brukar därför varje läroboksförfattare tillhandahålla ett eget paket för att underlätta inläsning. Detta är dock inte alltid så bra eftersom inläsningen då inte blir "standardiserad". Om man flyttar ett program som läser på ett ickestandardiserat sätt blir det problem, om man inte längre har tillgång till det paketet som innehåller de inläsningsrutiner som används i programmet. 7 8 Läsning och skrivning All läsning och skrivning i Java sker med användning av strömmar. En ström är ett enkelriktat flöde av data som strömmar in i eller ut från ett program, man skiljer således på inströmmar och utströmmar. Sändare Program data skriv data data data Strömmar Program Vad sändarna och mottagarna är kan variera. De kan t.ex. vara tangentbordet, skärmen, ett modem, en fil på sekundärminne, ett annat program eller andra delar av samma program. Programmet vet egentligen inte vad som finns i andra ändan av strömmen. läs data data Mottagare Utskrift till skärmen Data som skall skrivas ut på bildskärmen läggs i strömmen System.out. Nedan listas de medtoder som finns för att skriva till System.out: Metoder som skriver ett objekt eller variabel av angiven typ till utströmmen print(object), print(string), print(char[]); print(char), print(int), print(long), print(float), print(double), print(boolean) Metoder som skriver ett objekt eller variabel av angiven typ till utströmmen och avslutar med ett nyradstecken: println(object), println(string), println(char[]); println(char), println(int), println(long), println(float), println(double), println(boolean) Exempel: System.out.print("Vad heter du? "); En strängen skrivs inte ut direkt utan mellanlagras i en utdatabuffert. Bufferten kan tömmas med med hjälp av metoden flush. För att förvissa sig om att en utskrift som görs med metoden print skrivs ut direkt måste ett anrop av flush göras. Görs en utskrift däremot med printlnmetoden kommer utdatabufferten att tömmas automatiskt. 9
6 Inläsning från tangentbordet Data som skrivs på tangentbordet hamnar i strömmen System.in. Det går inte att läsa direkt från System.in utan denna ström måste först kopplas till en annan ström. System.in (InputStream) För att kunna läsa tecken och inte bytes kopplas strömmen System.in till ett objekt av klassen InputStreamReader, som finns i paketet java.io. Inläsningen blir effektivare om programmet läser in hela rader istället för att läsa tecken för tecken. Därför kopplas strömmen till ett objekt av klassen BufferedReader. I klassen BufferedReader finns bl.a. följande metoder String readline() int read() long skip(long n) (InputStreamReader) myin (BufferedReader) läser en rad läser ett tecken läser förbi ett antal tecken Samtliga dessa metoder reser IOException, som måste hanteras (på ett eller annat sätt)! Konstruktionen exceptions behandlas dock inte denna kurs. Inläsning av tal via tangentbordet Tyvärr innehåller inte klassen BufferedReader några metoder för att omvandla talsträngar till numeriska tal. Vid läsning av ett tal per rad kan omvandling mellan String och tal göras med användning av konerteringsmetoderna i respektive omslagsklass, t.ex. Integer.parseInt och Double.parseDouble. import java.io.*; public class Tal { public static void main (String[] arg) throws IOException { BufferedReader myin = new BufferedReader ( new InputStreamReader(System.in)); System.out.print("Skriv ett heltal: "); String textrad = myin.readline(); textrad = textrad.trim(); //Rensar bort blanktecken int heltal = Integer.parseInt(textRad); System.out.println("Talet är: " + heltal); System.out.print("Skriv ett reellt tal: "); textrad = myin.readline(); textrad = textrad.trim(); double reellt = Double.parseDouble(textRad); System.out.println("Talet är: " + reellt); //main //Tal Inläsning av flera tal på samma inmatningsrad Med användning av klassen Scanner är det möjligt att ge flera indatavärden på samma inmatningsrad. Nedanstående program visar hur detta görs när det standardiserade inläsningsförfarandet i Java används. import java.util.*; public class Adderare { public static void main (String[] arg) { Scanner sc = new Scanner (System.in); double summa =.; System.out.print("Ge talen: "); while(sc.hasnextdouble()) { double etttal = sc.nextdouble(); summa = summa + etttal; System.out.println("Summan blir: " + summa); //main //Adderare Observera att inmatningen avslutas med ctrl-z på en tom inmatningsrad. 3
Föreläsning 8. Klassen String Mer om fält Klassen ArrayList
Föreläsning 8 Klassen String Mer om fält Klassen ArrayList Standardklassen String Texter handhas i Java med standardklassen String. Ett objekt av klassen String består av en följd av tecken, dvs element
Läs merI 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
Läs merFö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
Läs merFä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
Läs merFö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
Läs merObjektorienterad 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
Läs merFö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
Läs merFö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
Läs merFö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
Läs merIteration 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,
Läs merJAVAUTVECKLING LEKTION 7
JAVAUTVECKLING LEKTION 7 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Olika språkversioner (Klassen Locale) Utskrift i kommandofönster Inläsning via kommandofönster Standardklassen
Läs merProgrammering 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äs merInstitutionen 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
Läs merGrundkurs 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
Läs merFö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
Läs merfor-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;
Läs merAtt 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
Läs merFlerdimensionella 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
Läs merAtt skriva till och läsa från terminalfönstret
Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen
Läs merFö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
Läs merSpråkkonventioner och redigering av tal.
Språkkonventioner och redigering av tal. Kap J3-1 Konventioner för olika språk hanteras med hjälp av klassen java.util.locale Ett objekt i denna klass beskriver en lokal konvention. Lokala konventioner
Läs merObjektorienterad 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
Läs merTvå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
Läs merLö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
Läs merLö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,
Läs merDatatyper 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
Läs merTentamen , 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
Läs merTENTAMEN 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
Läs merParsing med Recursive Descent, Avbildningsklasser. Syntaxdiagram. Syntaxdiagram och kodning expression. Betrakta följande uttryck
Betrakta följande uttryck a +(b + c) d + e (f + g h) Parsing med Recursive Descent, Avbildningsklasser Tobias Wrigstad (baserat på bilder från Tom Smedsaas) 22 november 2010 Beräkning med regler: multiplikation
Läs merTENTAMEN 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
Läs merEDAA20 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
Läs merMer 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
Läs merObjektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ
orienterad programmering Föreläsning 3 Exempel: Telefonboken Fält som funktionsresultat Exempel Definiera static double[] vectorsum(double[] a, double[] b) Betrakta sedan följande kodavsnitt:... double[]
Läs merIteration. 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
Läs mer//Använd main som ett "handtag" för att hålla ihop programmet. //Själva programmet finns i övriga klasser.
/*==================================================================== Detta program hör ihop med dokumentet EXEMPEL_AVERAGE_POINTS.PDF där det finns förklaringar. ======================================================================*/
Läs merTentamen 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äs merITK: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äs merFöreläsnings 9 - Exceptions, I/O
Föreläsnings 9 - Exceptions, I/O Josef Svenningsson Tisdag 6/11 Undantag - Exceptions Kommer ni ihåg det här programmet? Det var ett av de första ni såg i första föreläsningen. import javax.swing.*; public
Läs merInstuderingsfrå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
Läs merFö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
Läs merTentamen 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
Läs merObjektorienterad 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äs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (
Läs merLite 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
Läs merObjektorienterad 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
Läs merOOP Objekt-orienterad programmering
OOP F2:1 OOP Objekt-orienterad programmering Föreläsning 2 Input/Output Programsatser Selektion Output OOP F2:2 Görs via System.out, anropa antingen print eller println: System.out.print("Hej"); System.out.println(
Läs merFö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äs merJAVAUTVECKLING LEKTION 4
JAVAUTVECKLING LEKTION 4 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Iterationer (loopar) Algoritmer Mer om felsökning 1 WHILE-SATSEN String s = JOptionPane.showInputDialog("Talet
Läs merOmtentamen 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:
Läs merLö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äs merOOP 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
Läs merKompilering 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
Läs merFö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
Läs merFö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å
Läs merOOP Objekt-orienterad programmering
OOP Objekt-orienterad programmering OOP F1:1 Delkursansvarig Epost Kursens webbsidor sm@fc.dsv.su.se http://people.dsv.su.se/~sm/oop/ Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första
Läs merInstitutionen 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
Läs merLö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äs merLite mer om Javas stöd för fält. Programmering. Exempel: vad är det största talet? hh.se/db2004. Fält samt Input/Output
Programmering hh.se/db2004 Föreläsning 5: Fält samt Input/Output Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Lite mer om Javas stöd för fält Hur många element har ett fält?
Läs merLö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
Läs merFÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl
Högskolan Dalarna sid 1 av 6 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 1. Grunderna i
Läs merCommand line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016
Command line argumenter Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 /* Cla. java * Programmet illustrerar
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Felhantering Eclipse Felsökning Command line argumenter
Läs merLö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
Läs merLö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äs merLö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
Läs merIntroduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014
Introduktion till Datalogi DD1339 Föreläsning 2 22 sept 2014 Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 public class { public class { Åtkomst, public betyder fullt tillgänglig utifrån public
Läs merSMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning
Läs merDen 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
Läs merFöreläsning 14. Filhantering
Föreläsning 14 Filhantering Filhantering Att hantera filer, dvs att läsa eller skriva data till en fil är en viktig del i de flesta program. Ur Javas synvinkel är filer objekt med egenskaper och metoder
Läs merTentamen 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
Läs merChapter 3: Using Classes and Objects
Chapter 3: Using Classes and Objects I dessa uppgifter kommer du att lära dig om hur man använder klasser och metoder från java biblioteket. Du kommer inte att förstå allt som händer bakom metod anrop
Läs merDagens 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
Läs merFö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
Läs merE02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I
E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition Kurs: 1dv403 Webbteknik I Johan Leitet E02 - "The Review" Dagens agenda Identifierare Kommentarer Variabler Datatyper Operatorer Villkorssatser
Läs merF2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander
F2 Datatyper och variabler ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Datatyper Java är ett starkt typat språk Varje slags data har en datatyp Datatyp Javasyntax Exempel Teckensträng
Läs merOOP Objekt-orienterad programmering
OOP F12:1 OOP Objekt-orienterad programmering Föreläsning 12 Mer om JOptionPane Undantagshantering Vad är det? try catch Kasta egna undantag Filhantering spara objekt mellan körningar Användardialog via
Läs merOOP Objekt-orienterad programmering
OOP F4:1 OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder Metoder - subrutiner OOP F4:2 Kod som utför en viss operation. Ligger i olika klasser och anropas via operatorn.
Läs merObjektorienterad 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
Läs merPROGRAMMERING-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
Läs mer[] Arrayer = Indexerad variabel
[] Arrayer = Indexerad variabel Lagra många värden i en variabel Jmfr inom matematiken, variabler x 0, x 1, x 2, I detta dokument tas upp hur man skapar och hanterar sådana variabler i java. Dessa kallas
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java
Läs merI Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program
Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java
Läs merRepetition 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
Läs merProgramstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser
// En första version av BankKonto-klassen class BankKonto { private String namn; private long nr; private double saldo; private double ränta; // Klassen TestaBankKonto // Klassens uppgift är att skapa
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Java Språket Utmatning av Sträng litteraler Variabler
Läs merKapitel 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
Läs merLö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äs merOmtentamen 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
Läs merRepetition 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
Läs merTentamen 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
Läs merDI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin
DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:
Läs merJAVAUTVECKLING 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
Läs merFö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
Läs merFö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
Läs merVem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Läs merPrimitiva datatyper Selektering
Hit kom vi förra föreläsningen TDA143 I1 Programmerade system Föreläsning 2 (OH-bilder 2) Primitiva datatyper Selektering /* Programmet läser in och adderar två heltal, */ /* samt skriver ut resultatet
Läs merFöreläsning 6: Undantag, filhantering samt flera användbara klasser
Föreläsning 6: Undantag, filhantering samt flera användbara klasser Eva Blomqvist eva.blomqvist@liu.se Linköpings universitet Sweden November 11, 2013 1 Innehåll Undantag Filhantering Flera användbara
Läs merFöreläsning 3. Föreläsning 3
Datatypen De enkla datatyperna, som används för att lagra tal (t.ex. int och ), har en begränsad storlek och representerar således endast en delmängd av de verkliga talen. Föreläsning 3 Detta innebär att
Läs merFöreläsning 3. Föreläsning 3
Datatypen De enkla datatyperna, som används för att lagra tal (t.ex. int och ), har en begränsad storlek och representerar således endast en delmängd av de verkliga talen. Föreläsning 3 Detta innebär att
Läs merDagens föreläsning. Sett i datorsalarna. Mer om arrayer. Matriser. Formatering av utskrifter. Inläsning med hjälp av Scanner-klassen
(5 februari 2018 F4 1 ) Dagens föreläsning Sett i datorsalarna Mer om arrayer Matriser Formatering av utskrifter Inläsning med hjälp av Scanner-klassen Ett exempel med dialogrutor Java-doc Kommer först
Läs mer