DI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson

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

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Micael Karlsson

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

FÖRSLAG TILL LÖSNINGAR, TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2, , kl

Högskolan Dalarna sid 1 av 5 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Tentamen Nätverksprogrammering Lösningsförslag

Fortsättningskurs i programmering F 5. GUI händelsehantering - undantagshantering Hugo Quisbert AWT. Paket för hantering av grafik

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

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

Grafiska komponenter.

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016

Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling

Dagens program. Programmeringsteknik och Matlab. Vad är arv? Vi ärver från GregorianCalendar. Kan vi bygga vidare på existerande klasser?

Objektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

Tentamen Nätverksprogrammering Lösningsförslag

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

Applets med komponenter

ITK:P1 Föreläsning 4. Grafiska gränssnitt i Java. AWT-komponenter

Föreläsning 12. Föreläsning 12. Rörliga figurer Klassen Timer Undantag Något om applets. Rörliga appletsfigurer Klassen Timer Undantag

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

Lösningsförslag till tentamen

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

Lösningar till Fiktiv Tentamen på kursen. 2D4135 Objektorienterad programmering, design och analys med Java vt2004. Teoridel

a. Vilka av följande påståenden är riktiga? Observera att felaktigt valda påståenden ger poängavdrag. (4p)

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

Lösningsförslag till tentamen

Språkkonventioner och redigering av tal.

Två designmönster, MVC och Observer/Observable. Objektorienterad programvaruutveckling GU (DIT011)

Subklasser och arv Inledning till grafik (JFrame och JPanel). Något om interface. Objektorienterad programvaruutveckling GU (DIT011) Subklasser

Tentamen. DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl Hjälpmedel: penna, suddgummi, linjal

Händelsestyrda program

2I1073 Lektion 2. Lektion 2a. Lektion 2a. Servlets, säkerhet, och filhantering. import java.io.*; import javax.servlet.*; import javax.servlet.http.

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel

Denna vecka. Idag. Grafiskt användarsnitt. Vi kommer att se

Lab5 för prgmedcl04 Grafik

FactoryCast HMI. Premium & Quantum PLC. Applets

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

Javas Exceptions. DD2385 Programutvecklingsteknik Fler bilder till föreläsning 7 23/ Kort om Javas Exceptions Trådar i Java

Kungl. Tekn. Högskolan Förel 1, bild 1 Föreläsning 1: Introduktion ffl Kursinnehåll ffl Javarepetition ffl Referenser ffl Nyckelordet static ffl Klass

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11

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

Java-programmering. GUI-exempel. WindowTest.java. Händelsestyrt. WindowTestGUI.java (forts) WindowTestGUI.java. GUI UDP TCP Trådar Laboration 2 Tips

Arv och polymorfi. Lite terminologi; Basklass eller superklass: En klass som fungerar som bas för vårt arv. Vi skapar nya klasser utifrån den.

Föreläsningsmaterial (Arv) Skrivet av Andreas Lund

Undantagshantering. Fördjupad Java. Fel. Undantag. Fånga Undantag. Grupper av Undantag

Lösningar för tenta 2 DAT043,

Undantagshantering. Fördjupad Java. Undantag. Fel. Grupper av Undantag. Fånga Undantag

lgammal2.txt // Lösningar till gammal tentamen // Uppgift 1 a

Tentamensskrivning Nätverksprogrammering (EDA095 - FED) , kl 8-13

Konstruktion av klasser med klasser

GUI Nyckelbeståndsdelar

Tentamen Nätverksprogrammering Lösningsförslag

SI-pass 4. Johan Brook och Jesper Persson. 25 september Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner.

Föreläsning 7. DD2390 Internetprogrammering 6 hp

Föreläsning 3: Händelsestyrda program och användargränssnitt

Lösningar för tenta 3 DAT043,

Föreläsnings 11 - GUI, Händelsestyrda program, MVC

Föreläsning 8. Arv. Arv (forts) Arv och abstrakta klasser

Programmeringsteknik II - HT18. Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt

Objektorienterad Programkonstruktion. Föreläsning 11 6 dec 2016

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

JAVAUTVECKLING LEKTION 7

Hämta data mha URLer Föreläsning 2b. Innehåll Klassen URL

Objektorienterad Programkonstruktion. Föreläsning 4 8 nov 2016

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11

Högskolan Dalarna sid 1 av 5 Data-avdelningen Hans-Edy Mårtensson

Tentamen i Objektorienterad programmering

Tung bakgrundsaktivitet t.ex. Aktiva objekt t.ex. Animering, simulering. DD2385 Programutvecklingsteknik Några bilder till föreläsning 9 6/5 2013

ITK:P1 Lektion 4. Lektion 4. Lektion 4. Att implementera en spelidé i Java. DSV Peter Mozelius

TENTAMEN. Objektorienterade applikationer CHALMERS. 2018/2019, lp 3 DAT055. Uno Holmer

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

Föreläsning 3. Stack

Laboration 24 Databasen MySQL och java

Tentamen Nätverksprogrammering Lösningsförslag

Ingenjörsfirman Stéen Java Sida 1 av 1

Klasshierarkier - repetition

Högskolan Dalarna sid 1 av 5 Data-sektionen Hans-Edy Mårtensson

Lektion Händelsehanterare

Lösningsförslag till tentamen

Instuderingsuppgifter läsvecka 6 - LÖSNINGAR

Properties. Användbara metoder som kan anropas i propertychanged:

Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU

Objektorienterad programutveckling, fk

Omentamen FYTA11 Javaprogrammering

Objektorienterad programmering i Java. Föreläsning 5 Kort om Java-Applets

Concurrency Saker händer samtidigt. Process En instans av ett program

Lycka till! TENTAMEN: Objektorienterade applikationer. Läs detta! 1 (6) Tentamen

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl

Laboration 15 Grafiskt användargränssnitt

Idag. statiska metoder och variabler. private/public/protected. final, abstrakta klasser, gränssnitt, delegering. wrapper classes

Parallellism, återblick

PROG2 Tenta Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2

Distribuerade system. CORBA eller RMI

Klasshierarkier. Klasser kan byggas på redan definierade klasser

Tentamen FYTA11 Javaprogrammering

Transkript:

DI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson Lösningar till TENTAMEN I IXC003 SYSTEMUTVECKLING MED INTERNET/INTRANET, del 1 (5p) för IT3 och INTERNETPROGRAMMERING MED JAVA FÖR SY2 1999-03-17, kl 14.00-18.00 1. Introduktion till Java a) klasser b) this c) signatur, el. metoddeklaration d) instans e) skräpsamlare eller garbage collector f) final g) null h) gränssnitt eller interface, metod, el. medlemsfunktion i) super(xxx), this(xxx) j) dynamisk bindning eller polymorfi 2. Klasser och objekt. Typer och operatorer. Arv och gränssnitt. a. //Person lisa = new Person("Lisa Karlsson", 11111, 10); Det går inte att skapa ett objekt av klassen Person på grund av att klassen är abstrakt. //System.out.println("Namn: " + erik.getnamn()); Metoden getnamn är inte definierad. //System.out.println("Ålder: " + erik.ålder); Instansvariabeln ålder är endast åtkomlig i klassen Person.

b. 30 27 12345 99999 c. public class Arbetare extends Person implements Info //... public String getinfo() return namn + " har telefonnummer " + hemnr + " hem och " + jobbnr + " till arbetet."; 3. Användargränssnitt och händelsehantering a. Klassen Container är en subklass till klassen Component. En Container är en komponent som kan innehålla andra komponenter (inklusive andra containers). komponenter är oftast färdiga komponenter e. ex. knappar b. Component är en abstrakt klass och kan därför inte instantieras som ett objekt c. Andra anropet refererar till själva appletend. Första raden ändras till: Registrering av lyssnare ändras till: ok.addactionlistener(new Lyssnare()); Definition av inre lyssnareklass i klassen Test: private class Lyssnare implements ActionListener public void actionperformed(actionevent event) resultat.settext("ok"); 4. Applets och grafik a. En applet har ingen main-metod eftersom appleten anropas från webbläsaren eller appletviewern där main-metoden eller dess motsvarighet finns. b. repaint-metoden anropar paint via update-metoden c. import java.applet.*; import java.awt.*; import java.awt.event.*; public class Kvadrat extends Applet implements ActionListener private TextField thesize; private Button drawit; private int size; public void init() thesize = new TextField(4); thesize.settext("20"); add(thesize); drawit = new Button("Draw It"); add(drawit); 2

drawit.addactionlistener(this); size = 20; public void paint(graphics g) g.fillrect(30,30,size,size); public void actionperformed(actionevent event) size = Integer.parseInt(theSize.getText()); repaint(); 5. Trådar, exceptionella händelser och JDBC a. MyThread t = new MyThread(); t.start(); b. Nej, endast de metoder som samtidigt kan ha tillgång till samma data behöver vara synkroniserade. c. alt 1 Fånga exceptionhändelsen public void clockdelay() while (clockthread!= null) repaint(); try clockthread.sleep(1000); catch (InterruptedException e) alt. 2 Passa vidare exceptionhändelsen till den anropande metoden public void clockdelay() throws InterruptedException while (clockthread!= null) repaint (); clockthread.sleep(1000); d. - JDBC Net Driver (ren-java driver) - Översätter JDBC anrop till ett DBMS-oberoende nätprotokoll vilket senare översätts till ett specifikt DBMS-protokoll av en server. - JDBC-ODBC brygga (blandning av Java and binärkod, skrivs i C) - JDBC to Native-API (delvis-java driver, skrivs delvis i C) För att kunna laddas ner över Internet måste drivern vara skriven helt i Java 3

Kursen Internetprogrammering med Java: 6. Skrivning och läsning till fil (10p) a) public class Skrivare public static void main(string[] arg) throws IOException BufferedReader tangenterna = new BufferedReader( new InputStreamReader(System.in)); PrintWriter filen = new PrintWriter( new BufferedWriter(new FileWriter("rader.txt"))); String rad = tangenterna.readline(); while (rad!= null) filen.println(rad); rad = tangenterna.readline(); filen.close(); b) public class Lasare public static void main(string[] arg) throws IOException BufferedReader filen = new BufferedReader( new FileReader("rader.txt")); String rad = filen.readline(); while (rad!= null) System.out.println(rad); rad = filen.readline(); filen.close(); 4

7. Nätverkskommunikation (10p) Svara med maximalt tre till fyra rader per delfråga "a" t o m "c". a) TCP är ett protokoll för transportlagret och IP är ett protokoll för nätverkslagret i ett datornätverk. b) Appleten kan endast koppla upp förbindelser mot sin egen webserver c) En viktig skillnad mellan "CORBA" och "RMI" är att med hjälp av CORBA så kan delarna i ett distribuerat system vara utvecklade i olika programmeringsspråk. Om RMI används måste alla delar i systemet vara utvecklat i Java. d) import java.net.*; public class Klient public static void main(string[] arg) throws Exception Socket anslutning = new Socket("sun-hem.du.se", 4321); DataInputStream input = new DataInputStream( new BufferedInputStream(anslutning.getInputStream())); DataOutputStream output = new DataOutputStream( new BufferedOutputStream(anslutning.getOutputStream())); int tala = 23; int talb = -31; output.writeint(tala); output.writeint(talb); output.flush(); long summan = input.readlong(); anslutning.close(); System.out.println(summan); 5