725G61 - Laboration 4 Interaktion och I/O. Johan Falkenjack
|
|
- Ingeborg Åberg
- för 4 år sedan
- Visningar:
Transkript
1 725G61 - Laboration 4 Interaktion och I/O Johan Falkenjack November 5, 2013
2 1 Inledning I labb 1-3 har vi tittat på de grundläggande byggstenarna i programmering. Vi kommer återkomma till detta ämne när vi börjar titta på objektorientering i labb 5. I den här labben kommer vi dock fokusera på lite mer praktiska detaljer om interaktion. En användare kommunicerar med ett program genom ett gränssnitt. Idag har de allra flesta datorprogram ett GUI, Graphical User Interface. Dessa kan i Java konstrueras t.ex. med ramverket Swing. Att bygga sådana grafiska gränssnitt är dock tidskrävande och förhållandevis komplicerat. Ni kommer få testa ett mycket enkelt fall i slutet av den här kursen. En enklare form av gränssnitt är en textbaserad interaktionsloop. Fram till 90-talet byggde alla program på sådana interaktionsloopar och många mer avancerade användare använder sig fortfarande av program med sådana interaktionsloopar. För er som är Linux-användare eller använt kommandoprompten i Windows är interaktionsloopar inte helt nytt. Interaktionsloopar erbjuder inte lika mycket valfrihet och simultant arbete som ett GUI men å andra sidan kan man arbeta mer fokuserat med en enskild uppgift. Många mer avancerade program har interaktionsloopar som kan hantera mycket långa och komplicerade kommandon som i sig nästan kan kallas för program. Många programspråk, som t.ex. Python och Lisp, kan också programmeras direkt i en sådan interaktionsloop. Vi ska i den här labben bygga upp ett litet program som använder sig av interaktionsloopar. 2 Enkel inmatning I labb två använde vi oss av klassen Scanner för att göra mycket enkel inmatning. Här ska vi titta mer på Scanner och hur den fungerar för olika typer av inmatning. I labb två läste vi bara in strängar, det går dock att mata in andra typer också. 1
3 Övning class IntegerInput { 2 public static void main (String[] args) 3 throws Exception { 4 java.util.scanner in = 5 new java.util.scanner (System.in); 6 System.out.print("an integer: "); 7 int int1 = in.nextint(); 8 System.out.print("an integer: "); 9 int int2 = in.nextint(); 10 int sum = int1 + int2; 11 System.out.println("sum: " + sum); Exekvera det här programmet flera gånger, mata in olika heltal olika gånger. Vad händer om du tillför programmet ett, två respektive tre heltal vid den första inmatningen? Vad händer om du trycker på returtangenten utan att ha matat in ett heltal? Vad händer om du skriver in ett tecken istället för ett heltal? Scanner är dock bara en wrapper för System.in.read() som ger oss lite extra funktionalitet och gör det lite enklare. I vissa fall används dock System.in.read() direkt. Övning class CharacterInput { 2 public static void main (String[] args) 3 throws Exception { 4 System.out.print("a charcter: "); 5 char c = (char) System.in.read(); 6 System.out.print("another character: "); 7 int code = System.in.read(); 8 System.out.println("The first character: " 9 + c); 10 System.out.println("The Unicode-code for the " + 11 "second character: " + code); Exekvera programmet flera gånger och mata in olika tecken. skapas? Vilken utskrift 2
4 Övning class EmptyingBuffer { 2 public static void main (String[] args) 3 throws Exception { 4 System.out.print("a character: "); 5 char c1 = (char) System.in.read(); 6 System.in.read(); 7 // System.in.read(); 8 System.out.print("a charcter: "); 9 char c2 = (char) System.in.read(); 10 System.out.println("the characters: " + 11 c1 + " " + c2); Exekvera det här programmet flera gånger, mata in olika tecken olika gånger. Vad händer om ett, två respektive tre tecken tillförs programmet vid den första inmatningen? Vad händer om man bara trycker på returtangenten? Vad händer om kommentarsmarkeringen tas bort? Övning 4.4 Skriv ett program som låter användaren mata in ett heltalsvärde och ett flyttalsvärde, och som sedan undersöker om heltalsvärdet är mindre än flyttalsvärdet, lagrar och skriver ut resultatet av jämförelsen. Exekvera programmet med olika värden, t ex 1 och 1.2, 1 och -1.2, 1 och 1.0 osv. 3 Interaktionsloopen I det här avsnittet, och i resten av labben, kommer vi arbeta med och runt en interaktionsloop. 3
5 UPPGIFT 4.1 Skapa en ny klass som heter Interaction. Innan vi gör något annat ska vi skapa två egna utskriftsmetoder. Detta kan verka lite konstigt men ni kommer förstå senare i labben varför vi gör detta. Den första metoden ska heta print() och ska ta ett sträng och skriva ut den med System.out.print(), dvs utan en extra radbrytning. Den andra metoden heter printline() och ska ta en sträng, lägga till en radbrytning i slutet, och skicka resultatet till print(). En radbrytning i en sträng representeras av specialtecknet \n. Viktigt att veta är att när man anropar System.out.print() respektive System.out.println() så konverteras automatiskt argumentet till en sträng. Nu när vi skapat våra egna wrappers för dessa måste vi själva konvertera argumentet till en sträng. Det görs för primitiva datatyper med metoden String.valueOf(). UPPGIFT 4.2 I den här uppgiften ska ni lägga grunden för resten av uppgifterna i labben. På alla ställen där något skrivs ut ska ni använda print() och printline() från uppgift 4.1. Skapa en metod i Interaction som heter toploop() som inte tar några argument och inte returnerar något. Metoden toploop() ska innehålla en evig while-loop som skriver ut "» " och sedan läser in ett kommando och hanterar det. Om kommandot är "quit" ska loopen avbrytas (använd en if-sats och break för att avbryta loopen snarare än ett predikat i while-satsen). Annars ska ingenting göras och loopen ska bara fortsätta. Ni ska också skapa en main-metod som skriver ut "Welcome to the program.\nwrite quit to quit.", anropar toploop() och sist skriver ut "Quitting program, goodbye!". Kom ihåg att använda print() och printline(). Här kommer ett exempel på hur det kan se ut när programmet körs: Welcome to the program. Write quit to quit. >> test >> help >> dsfg >> 123 >> gfsd >> >> quit Quitting program, goodbye! Precis som i labb 2 har vi nu skapat en mycket enkel interaktionsloop. Traditionellt sett brukar det dock inte vara så här enkelt att avsluta ett program. Programmerare vill oftast att användarna ska sitta kvar vid programmet så 4
6 länge så därför vill man vara säker på att användaren verkligen vill avsluta. Härifrån kommer det klassiska "är du säker på att du vill avsluta"-fenomenet. Vissa anser detta vara ett otyg men då man faktiskt ibland gör fel och råkar avsluta för tidigt så ska vi skapa just en sådan funktionalitet i vårt program. UPPGIFT 4.3 Skapa en metod som skriver ut frågan "Write y if you really want to quit: " som sedan läser in en sträng, om strängen är "y" ska metoden returnera true, om strängen är något annat ska metoden returnera false. Anropa metoden på lämpligt sätt från toploop() så att den används när man försöker avsluta. Här kommer en exempelinteraktion: Welcome to the program. Write quit to quit. >> quit Write y if you really want to quit: >> quit Write y if you really want to quit: n >> quit Write y if you really want to quit: yes >> quit Write y if you really want to quit: y Quitting program, goodbye! 4 Hantering av kommandon Normalt sett vill man att ett program ska informera om det får input som det inte kan tolka. Säg t.ex. att vi tror att det finns ett kommando "add" som lägger ihop en serie heltal och skriver ut summan. Om man testar och det visar sig att add inte exister brukar "Unknown command add " eller något liknande skrivas ut. Vi ska nu se till att vårt program gör just det. Men först kommer en övning på att dela upp strängar. 5
7 Övning public class SplitExample { 2 public static void main(string args[]) { 3 String fullstring = "fish-eggs-milk"; 4 String delimiter = "-"; 5 String[] temp = fullstring.split(delimiter); 6 for(string part : temp) { 7 System.out.println(part); Vilken utskrift får du när du exekverar det här programmet? Försök att förutsäga vilken utskriften kommer att bli innan du exekverar programmet, kontrollera sedan om det stämmer och analysera resultatet. Prova att byta ut strängen fullstring mot olika strängar och delimiter mot olika tecken. UPPGIFT 4.4 Skapa en ny metod handleinput() som tar en String-array som input. Metoden ska sedan skriva ut "Unknown command kommando " där kommando är det första elementet i arrayen. Metoden handleinput() ska anropas från toploop() på ett lämpligt sätt (skriver man inget alls ska loopen bara fortsätta precis som tidigare). Använd den inbyggda metoden split() för strängar för att dela upp inputsträngen som läses in. Här kommer en exempelinteraktion: Welcome to the program. Write quit to quit. >> >> g Unknown command g >> add 1 2 Unknown command add >> quit Write y if you really want to quit: y Quitting program, goodbye! Ofta vill man skicka med argument till ett kommando, som t.ex. add. Till add skickade vi en serie heltal. Implementationen av Scanner innebär dock att vi läser in dessa tal som strängar. På något sätt måste vi alltså konvertera strängarna till heltal. Det fungerar inte att använda vanliga casts så som vi 6
8 gjorde i labb 1. I klassen Integer finns metoden parseint() som tar en sträng och, om den kan tolkas som ett heltal, returnerar motsvarande heltal. Klassen String har en motsvarande metod, valueof(), som nämndes i uppgift 4.1, som konverterar t.ex. ett heltal till en sträng. Övning 4.6 public class StringConversion { public static void main(string[] args) { System.out.println(1 + 1); System.out.println(String.valueOf(1) + 1); String number = "1"; System.out.println(number + number); System.out.println(number + Integer.parseInt(number)); System.out.println(Integer.parseInt(number) + Integer.parseInt(number)); Vilken utskrift får du när du exekverar det här programmet? Försök att förutsäga vilken utskriften kommer att bli innan du exekverar programmet, kontrollera sedan om det stämmer och analysera resultatet. 7
9 UPPGIFT 4.5 I den förra uppgiften försökte, och misslyckades, vi använda kommandot add. I den här uppgiften ska vi implementera just det kommandot. Skapa en metod add() som tar en String-array som innehåller hela add-kommandot (t.ex. "add", "1", "1" och som beräknar och skriver ut summan av de inskickade heltalen, använd String.valueOf() för att konvertera summan till en sträng. Lägg sedan till funktionalitet i handleinput() för att identifiera kommandot add och anropa metoden med samma namn. Andra kommandon ska fortfarande resultera i "Unknown command". a Här kommer en exempelinteraktion: Welcome to the program. Write quit to quit. >> fdsf Unknown command fdsf >> add 0 >> add >> quit Write y if you really want to quit: y Quitting program, goodbye! a Här hade det kunnat vara aktuellt att använda en switch-sats och lägga till fall allt eftersom och ha Unknown command i default-fallet. I den Java-version vi använder i kursen (1.6) kan man dock inte switcha på String utan bara på primitiva datatyper så istället får man använda if. Från och med Java 1.7 går det att switcha även på String. 5 Undantag - Exceptions I tidigare labbar har vi tittat på styrstrukturen if, och i den här labben har vi använt if för att göra viss grundläggande felhantering, dvs att kontrollera att kommandot vi försöker använda faktiskt finns. Ett mer Java-likt sätt att sköta felhantering är att använda undantag, eller exceptions. Undantag är ett sätt att "bevaka" ett program och hantera olika typer av fel när de uppstår och på den mest lämpliga nivån. När vi använder if för felhantering måste vi i förväg komma på var olika fel kan uppstå och kolla att t.ex. indata till en metod inte kommer få metoden att krascha. När vi använder undantag behöver vi bara veta vilken typ av fel som kan uppstå och var det ska hanteras. Undantag används på följande sätt: Omge ett stycke kod med en så kallad try-sats, om ett fel uppstår under körningen av koden i denna try-sats (oavsett 8
10 hur många funktionsanrop bort) så kastas ett undantag som tas emot av en catch-sats. En catch-sats kan liknas vid en else-sats. Här kommer en övning som visar hur vi kan se till att inte programmet kraschar när vi försöker hämta ut värdet på ett index som inte finns i en array. Övning 4.7 import java.io.*; public class ExcepTest{ public static void main(string args[]){ int a[] = new int[2]; System.out.println("Access element three :" + a[3]); System.out.println("Out of the block"); Vilken utskrift får du när du exekverar det här programmet? Försök att förutsäga vilken utskriften kommer att bli innan du exekverar programmet, kontrollera sedan om det stämmer och analysera resultatet. Lägg sedan till rader så att det istället ser ut såhär: import java.io.*; public class ExcepTest{ public static void main(string args[]){ try { int a[] = new int[2]; System.out.println("Access element three :" + a[3]); catch(arrayindexoutofboundsexception e) { System.out.println("Exception thrown :" + e); System.out.println("Out of the block"); Vilken utskrift får du när du exekverar det här programmet? Försök att förutsäga vilken utskriften kommer att bli innan du exekverar programmet, kontrollera sedan om det stämmer och analysera resultatet. Vad händer om du byter ut koden i catch-blocket mot följande? e.printstacktrace(); 9
11 UPPGIFT 4.6 Nu går vi tillbaka till programmet som innehåller vår interaktionsloop, vad händer när du kör add f s? Lägg till en try-catch-sats i metoden add för att fånga exceptions som kastas av Integer.parseInt() när man försöker mata in något annat än heltal som argument. Börja med att fånga det undantag som kastas, dvs ett generellt undantag av typen Exception, och kör i catch-blocket metoden printstacktrace() på undantaget som fångats för att se vilken typ av undantag som kastas. Vad händer med exekveringen av programmet i övrigt när vi lagt till en trycatch-sats i add()? Kommer programmet fortfarande krascha och avslutas? Ändra sedan catch-raden så att bara den specifika undantagstypen som faktiskt kastas kommer att fångas. När det är gjort ska kroppen i catch-satsen ändras så att den avbryter beräkningen av summan och skriver ut "Argument error: The add command can only add integers." Exempelkörning: Welcome to the program. Write quit to quit. >> add >> add 1 d 3 Argument error: The add command can only add integers. >> add I vissa fall vill man att ens kod ska kasta undantag även där Java självt inte identifierar ett fel. Man kan t.ex. hantera felaktig input redan innan felet orsakat problem i någon operation senare i programmet. För att kasta ett undantag använder man kommandot throw, se Övning 4.8 för ett exempel. Där kan vi också se hur man kan hänga på flera catch-block på en try för att fånga olika typer av undantag, och därmed kunna hantera olika typer av fel på olika sätt. 10
12 Övning 4.8 public class ThrowExample { public static void main(string[] args) { Scanner in = new Scanner(System.in); int[] positive = {0, 1, 2, 3; try { System.out.println("Input one of the first" + " three positive integers."); int index = Integer.parseInt(in.nextLine()); if (index == 0) { throw new IndexOutOfBoundsException(); System.out.println(positive[index]); catch (NumberFormatException e) { System.out.println("You think that s " + "an integer?!"); catch (IndexOutOfBoundsException e) { System.out.println("Sorry, that " + "index isn t availible!"); Testkör programmet. Vad händer när man skickar in olika värden? Prova att skicka in olika heltal, t.ex. 0 och 2, men också något annat tecken som t.ex. a. 6 Hjälp För att para ihop data när man programmerar kan man i de enklaste fallen använda associationstabeller eller associationslistor. Detta är en typ av datastruktur som används på ett liknande sätt som en array, med den skillnaden att man inte hämtar ut ett värde med ett index utan med en nyckel. En nyckel kan vara t.ex. ett tecken, eller en sträng, eller liknande. Kärt barn har många namn och precis som för subrutiner finns det många namn på associationstabeller. Ett namn som används t.ex. av programmeringsspråket Python är dictionary, detta namn ger ett exempel på hur en associationstabell kan användas, som en ordbok med uppslagsord kopplade till en beskrivning. Ett annat vanligt namn är map, som kommer från det engelska ordet för en funktion som för ett givet input alltid ger ett visst output. Slå upp HashMap i JavaDoc och ta reda på hur en sådan fungerar i Java inför nästa uppgift. Använd Google för att hitta exempel om det behövs. 11
13 UPPGIFT 4.7 Vi ska nu skapa ett hjälp-kommando. Skapa en global variabel (static-variabel som ligger utanför metoder och direkt i klassen) som heter helpdata och som är en HashMap med strängar både som nyckel och värde. När det är gjort ska ni lägga till alla kommandon som finns i programmet som nycklar och en kort beskrivning av dessa som motsvarande värde (detta bör göras först i mainmetoden), se i exemplet nedan hur beskrivningarna kan se ut. Skapa sedan en metod för kommandot help. Kommandot help ska fungera på följande sätt: >> help Available commands: help add quit >> help add Add a series of integers. >> help help Displays a help message. >> help quit Ends the program. >> help lol Unknown command lol >> 7 Filhantering Vi har nu provat att läsa in från tangentbordet och vi har länge kunnat skriva ut till skärmen. Detta är dock bara en typ av I/O (input/output, dvs ett programs kommunikation med omvärlden). En annan viktig typ av I/O är filhantering, dvs att kunna läsa från och skriva till fil. Det ska vi öva på i det här avsnittet. 12
14 Övning class WriteReadExample { 2 public static void main (String[] args) { 3 String f = new String ("seasons.txt"); 4 try { 5 FileWriter fout = new FileWriter(f); 6 fout.write("winter spring summer autumn"); 7 fout.close(); 8 FileReader fin = new FileReader(f); 9 char[] c = new char[100]; 10 int n = fin.read(c); 11 for (int i = 0; i < n; i++) { 12 System.out.print(c[i]); fin.close(); 15 catch (IOException e) { 16 e.printstacktrace(); Vad händer när det här programmet exekveras? Hur ser filen som skapas ut? Vad gör vi på rad 10 och varför? Vilken utskrift får man på standardutmatningsenheten? Titta på JavaDoc för FileWriter om ni behöver. 13
15 Övning class BRExample { 2 public static void main (String[] args) { 3 String f = new String ("seasons.txt"); 4 try { 5 FileWriter fout = new FileWriter(f); 6 fout.write("winter\nspring\nsummer\nautumn"); 7 fout.close(); 8 BufferedReader br = 9 new BufferedReader(new FileReader(f)); 10 String line; 11 while ((line = br.readline())!= null) { 12 System.out.println(line); br.close(); 15 catch (IOException e) { 16 e.printstacktrace(); Vad händer när det här programmet exekveras? Hur ser filen som skapas ut? Vilken utskrift får man på standardutmatningsenheten? Vad är fördelen med det här tillvägagångssättet jämfört med en ren FileReader? På kurshemsidan, i anslutning till labbarna, finns javaklassen MakeStory. Ladda ner den och importera den i ditt projekt. Lägg sedan till metoden makestory() som finns nedan i Interaction. Lägg sedan till kommandot story i toploop och i helpdata (med beskrivningen "Generate a story".) och testa att det fungerar att generera en saga. private static void makestory() { Scanner in = new Scanner(System.in); print("what is thy name? "); MakeStory.name = in.nextline(); print("what is thy title? "); MakeStory.title = in.nextline(); print("what is thy appearance? "); MakeStory.appearance = in.nextline(); print("have you got a magic bag? (y/n)"); if (in.nextline().equals("y")) { MakeStory.magic_bag = true; else { 14
16 MakeStory.magic_bag = false; print("are you happy? (y/n)"); if (in.nextline().equals("y")) { MakeStory.happy = true; else { MakeStory.happy = false; print("have you got a secret? (y/n)"); if (in.nextline().equals("y")) { MakeStory.secret = true; else { MakeStory.secret = false; printline(makestory.generate()); UPPGIFT 4.8 Modifiera kommandot story och metoden makestory() så att man kan ge story ett argument. Argumentet ska vara ett filnamn och när man kör exempelvis följande >> story out.txt så ska den genererade sagan skrivas till filen out.txt istället för att skrivas ut på skärmen. Får story inget argument ska sagan skrivas ut på skärmen som tidigare. Kom ihåg att inte duplicera kod mer än nödvändigt. UPPGIFT 4.9 På kurshemsidan finns filen wizards.txt som är i så kallat CSV-format, Comma Separated Values. Skapa ett kommando generatestories som tar ett filnamn som argument, läser in filen och genererar sagor utifrån de värden som finns i filen och skriver dessa till skärmen. 8 Redovisning Nu när ni är färdiga med alla uppgifter är det dags at lämna in era lösningar för Uppgift 4.1 till 4.9 för rättning. Gå igenom era lösningar en extra gång och se till så att hi har kommenterat er kod, och testkört den noga så att ni är säkra på att alla lösningar fungerar. Samla ihop kodfilerna (filerna som slutar på.java) i ett zip-arkiv och ladda upp zip-filen under Labb4 i LISAM. Glöm inte att skriva namnen på båda gruppmedlemmarna i kommentarsfältet vid inlämningen. 15
Att 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 mer725G61 - Laboration 2 Loopar och arrayer. Johan Falkenjack
725G61 - Laboration 2 Loopar och arrayer Johan Falkenjack October 29, 2013 1 Inledning I labb 1 lärde vi oss om de primitiva datatyperna (och lite om String). Vi lärde oss också att använda variabler av
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 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 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 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 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 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 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 merF4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
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 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 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 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 mer725G61 - Laboration 3 Metoder och abstrakta datatyper. Johan Falkenjack
725G61 - Laboration 3 Metoder och abstrakta datatyper Johan Falkenjack October 29, 2013 1 Förberedelse Några av klasserna i labb 3 har samma namn som i labb 1 och 2 så antingen måste man skapa ett nytt
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 merChapter 4: Writing Classes/ Att skriva egna klasser.
Chapter 4: Writing Classes/ Att skriva egna klasser. I dessa uppgifter kommer du att lära dig om hur man definierar egna objekt genom att skriva klasser. Detta är grunden för att förstå objekt orienterad
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 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 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 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ä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 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 merObjektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6
Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner
Läs merIdag. Exempel, version 2. Exempel, version 3. Ett lite större exempel
Idag Ett exempel Undantag Substitutierbarhet, subtyper, subklasser När val av metod beror av typerna hos två objekt Lite om överlagring Exempel, version 2 Notera: för samtliga figurer gäller: arean av
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 merFelhantering TDDD78, TDDE30, 729A
Felhantering TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Felhantering 2 Ofta antar vi att allt ska fungera Alla filer vi behöver finns går att öppna Tillräckligt mycket minne finns Servrar som
Läs merObjektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11
Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker
Läs merFöreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
Läs merObjektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11
Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker
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 merAlgoritmer. Två gränssnitt
Objektorienterad programmering E Algoritmer Sökning Linjär sökning Binär sökning Tidsuppskattningar Sortering Insättningssortering Föreläsning 9 Vad behöver en programmerare kunna? (Minst) ett programspråk;
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 merTentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Astronomi och Teoretisk fysik HT 12 Tentamen FYTA11 Javaprogrammering Onsdag 9 januari 2013, 10:15 14:15 Instruktioner Hjälpmedel: Papper och penna. Behandla
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 merFöreläsning 3. Stack
Föreläsning 3 Stack Föreläsning 3 ADT Stack Stack JCF Tillämpning Utvärdera ett postfix uttryck Stack implementerad med en array Stack implementerad med en länkad lista ADT Stack Grundprinciper: En stack
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 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 merOutline. Objektorienterad Programmering (TDDC77) En frukt har ett namn. Man kan lägga en frukt i en korg... Hashing. Undantag. Ahmed Rezine.
Outline Objektorienterad Programmering (TDDC77) Föreläsning XIV: Undantag, Design Ahmed Rezine IDA, Linköpings Universitet Undantag Design Hösttermin 2017 En frukt har ett namn Man kan lägga en frukt i
Läs merNumeriska Metoder och Grundläggande Programmering för P1, VT2014
Numeriska Metoder och Grundläggande Programmering för P1, VT2014 Föreläsning 2: Styrstrukturer & Programmeringsstrategi (Kap. 3 4 i MATLAB Programming for Engineers, S. Chapman) January 21, 2014 Innehåll:
Läs mer1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.
1 Uppgift 1 Klassen Company Banken FinanceTrust som tidigare bara haft privatpersoner som kunder vill nu bygga ut sitt datasystem så att även företag kan registreras som kunder. Skriv klassen Company som
Läs mer"if"-satsen. Inledande programmering med C# (1DV402)
"if"-satsen Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i verket if-satsen
Läs merFöreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
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 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 merUppgift: 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å
Läs merÖversikt. Skriva och läsa data. Kontrollflöde. Två sorters loopar. For-loop. For-loop
Översikt Repetition for-loopar Skriva till och läsa från filer Strömmar Eclipse Hur anpassa till vad du gillar? Skriva och läsa data Institutionen för datavetenskap Programmering 1 Rita Kovordányi 2 Kontrollflöde
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning XIV: Undantag, Design Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Hashing Undantag Design Outline Hashing Undantag Design En frukt
Läs merFöreläsning 6: Metoder och fält (arrays)
TDA 545: Objektorienterad programmering Föreläsning 6: Metoder och fält (arrays) Magnus Myréen Chalmers, läsperiod 1, 2015-2016 I (föregående och) denna föreläsning Läsanvisning: kap 2 & 13 meddelanden
Läs merProgrammering för språkteknologer I, VT2012. Rum
Programmering för språkteknologer I, VT2012 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.lingfil.uu.se/~evelina/uv/uv12/pst1/ Idag - Kursplan - Börja programmera - Lokala variabler - aritmetiska
Läs merUndantagshantering. Fördjupad Java. Fel. Undantag. Fånga Undantag. Grupper av Undantag
Undantagshantering Fördjupad Java Ett undantag (Exception) är ett objekt som påtalar en ovanlig eller felaktig situation i ett program. Undantag kastas av programmet och kan fångas och hanteras. Java har
Läs merUndantagshantering. Fördjupad Java. Undantag. Fel. Grupper av Undantag. Fånga Undantag
Undantagshantering Fördjupad Java Ett undantag (Exception) är ett objekt som påtalar en ovanlig eller felaktig situation i ett program. Undantag kastas av programmet och kan fångas och hanteras. Java har
Läs merPROGRAMMERING-Java Omtentamina
PROGRAMMERING-Java Omtentamina Nicolina Månsson 2007-08 13 Tentamensinstruktioner Poängsättning Hela tentamen omfattar 41 poäng. Poäng för varje uppgift står angivet inom parentes före varje uppgift. -
Läs merObjektorienterad programmering E. Telefonboken, än en gång. Gränssnitt. Telefonboken med gränssnitt specificerat, del 1.
Objektorienterad programmering E Telefonboken, än en gång Föreläsning 5 Wrapper classes Exempel, histogram. Inldening om undantag. Mer om klassen Påminnelse Vår senaste version bestod av två klasser, bägge
Läs merFö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
Läs merFöreläsning 8 - del 1: Objektorienterad programmering (forts.) - Exempel
Föreläsning 8 - del 1: Objektorienterad programmering (forts.) - Exempel Eva Blomqvist eva.blomqvist@liu.se Linköpings universitet Sweden December 1, 2013 1 Innehåll OO-programmering fortsättning Skapa
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 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 merLite om reella tal. Programmering. I java. Om operatorers associativitet och prioritet
Programmering hh.se/db2004 Föreläsning 4: Fält samt Input/Output Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Lite om reella tal Vad kan man göra med reella tal? Utöver de
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 mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning
Varför? 732G11 Linköpings universitet 2011-02-08 Varför? 1 2 3 Varför? 4 5 Medelvärde av 5000 tal Varför? while-loopen int nrofints = 5000; int [] integers = new int [ nrofints ]; int pos = 0; while (
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Interface Generiska klasser Undantag
Läs merTentamen , Grundläggande programmering i Java
Institutionen för informationsteknologi och medier Sid:1(3) Grundläggande programmering i Java Martin Kjellqvist Lösningsförslag, lösningsansatser Tentamen 2006-01-20, Grundläggande programmering i Java
Läs merHej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer
Programmering hh.se/db2004 Föreläsning 3: Java. Grundtyper, variabler och arrayer Hej Då, Karel! Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Center for Research on Embedded
Läs merTDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av
Läs merTentamen ID1004 Objektorienterad programmering May 29, 2012
Omtentamen för ID1004 Objektorienterad programmering HT11, 29 maj 2012, 09-13 Denna tentamen examinerar 3 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av 12 frågor. Varje fråga
Läs merOOP Objekt-orienterad programmering
OOP F2:1 OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion Deklaration och tilldelning OOP F2:2 int x; double d; char ch; boolean
Läs merFördjupad Java. Undantagshantering. Fel
Fördjupad Java 1 Undantagshantering Ett undantag (Exception) är ett objekt som påtalar en ovanlig eller felaktig situation i ett program. Undantag kastas av programmet och kan fångas och hanteras. Java
Läs merDagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?
Programmeringsteknik och Matlab Övning 4 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
Läs merDAT043 Objektorienterad Programmering
DAT043 Objektorienterad Programmering Detta är en exempeltenta som innehåller gamla tentauppgifter av ungefär liknande slag som ni kan förvänta er se på ordinarie tenta i Del 1 respektive Del 2. Dock är
Läs merObjektorienterad programmering D2
Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste
Läs merSkillnader mellan Python och Java
Java Utvecklat på SUN Microsystems mitten 1990-talet Ursprungligen för Webprogram Nu mycket spritt Massor med läroböcker Vi använder Lewis&Loftus http://javasuncom/javase/6/docs/api/ Skillnader mellan
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning V: arrayer, metoder, räckvidd (scope), eclipse Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Arrayer Metoder Räckvidd (Scope) Eclipse
Läs merTä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.
Tentamen Programmeringsteknik I 2015-01-10 Skrivtid: 8.00 13.00 Hjälpmedel: Java-bok 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
Läs merDagens 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
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 mer725G61 - Laboration 5 Grundläggande objektorientering. Johan Falkenjack
725G61 - Laboration 5 Grundläggande objektorientering Johan Falkenjack November 26, 2013 1 Inledning I labb 1-3 tittade vi på de grundläggande byggstenarna i programmering. Vi lärde oss om variabler, styrstrukturer
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 merLaboration: Whitebox- och blackboxtesting
Tilda11 höstterminen 2011 Laboration: Whitebox- och blackboxtesting Mål med laborationen Du ska lära dig begreppen white-box testing och black-box testing Du ska öva dig på att konstruera testfall Du ska
Läs merEDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.axelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
Läs merTDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 5 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Arrayer Metoder Räckvidd och Livslängd Arrayer Vända om inlästa värdena Vända om
Läs mer725G61 - Laboration 1 Variabler och villkorssatser. Johan Falkenjack
725G61 - Laboration 1 Variabler och villkorssatser Johan Falkenjack October 16, 2013 1 Inledning till labbarna Any sufficiently advanced technology is indistinguishable from magic. - Arthur C. Clarke Citatet
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 merLösningsförslag, tentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Astronomi och Teoretisk fysik HT 12 Lösningsförslag, tentamen FYTA11 Javaprogrammering Onsdag 9 januari 2013, 10:15 14:15 Instruktioner Hjälpmedel: Papper och
Läs merFöreläsning 8: Exempel och problemlösning
TDA 545: Objektorienterad programmering Föreläsning 8: Exempel och problemlösning Magnus Myréen Chalmers, läsperiod 1, 2015-2016 De tre senaste föreläsningarna Läsanvisning: kap 2 & 13 meddelanden och
Läs merFöreläsning 12. Föreläsning 12. Rörliga figurer Klassen Timer Undantag Något om applets. Rörliga appletsfigurer Klassen Timer Undantag
Föreläsning 12 Föreläsning 12 Rörliga figurer Klassen Timer Undantag Något om applets Rörliga appletsfigurer Klassen Timer Undantag Något om applets Klassen javax.swing.timer I Swing finns en klass Timer
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 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 merOutline. 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
Outline Objektorienterad Programmering (TDDC77) Föreläsning IV: while, for, do while, switch, arrayer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Ordning Villkorliga hopp I Normalt sett så
Läs merParallellism, återblick
Parallellism, återblick Josef Svenningsson December 11, 2012 Lab7 Det är problem med lab7. Gå med i den grupp som ni använt tidigare. DEMO Flera saker händer samtidigt Ofta hanterar program olika indata
Läs merFöreläsning 3. Stack
Föreläsning 3 Stack Föreläsning 3 ADT Stack Stack JCF Tillämpning Utvärdera ett postfix uttryck Stack implementerad med en array Stack implementerad med en länkad lista Evaluate postfix expressions Läsanvisningar
Läs merObjektorienterad Programmering DAT043. Föreläsning 4 23/1-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)
Objektorienterad Programmering DAT043 Föreläsning 4 23/1-18 Moa Johansson (delvis baserat på Fredrik Lindblads material) 1 Repetion: Klasser och objekt Vi definierar nya objekttyper i klasser. Ett objekt
Läs merLösningar för tenta 2 DAT043,
Lösningar för tenta 2 DAT043, 2018-06-08. Uppgift 1 public class Car{ private String model; private String year; private double price; public Car(String model, String year, double price){ this.model =
Läs merTentamen i Introduktion till programmering
Tentamen i Introduktion till programmering Kurskod: Skrivtid: D0009E 09:00-13:00 (4 timmar) Totalt antal uppgifter: 7 Totalt antal poäng: 38 Tentamensdatum: 2014-05-17 Jourhavande lärare: Tillåtna hjälpmedel:
Läs merOrdlistor, filhantering och ut på webben. Linda Mannila 20.11.2007
Ordlistor, filhantering och ut på webben Linda Mannila 20.11.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Samlingsdatatyp Listan Utskrift Indata Felhantering Funktioner och moduler
Läs merTENTAMEN OOP
TENTAMEN OOP 2014-03-15 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 merRecitation 4. 2-D arrays. Exceptions
Recitation 4. 2-D arrays. Exceptions Animal[] v= new Animal[3]; 2 declaration of array v Create array of 3 elements v null a6 Assign value of new-exp to v Assign and refer to elements as usual: v[0]= new
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 merFöreläsning 2, vecka 8: Repetition
TDA 548: Grundläggande Programvaruutveckling Föreläsning 2, vecka 8: Repetition Magnus Myréen Chalmers, läsperiod 1, 2016-2017 Idag Metoder och terminologi Referensvärden och arrays Interface och ritning
Läs mer