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

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

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

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

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

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

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

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

Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

JAVAUTVECKLING LEKTION 7

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

Lösningar för tenta 2 DAT043,

Objektorienterad programmering i Java

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }

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

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel

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

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

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

JAVA Mer om klasser och objektorientering

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

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

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

Tentamen Nätverksprogrammering Lösningsförslag

Klasshierarkier - repetition

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

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

Tentamen i Programmeringsteknik MN

Malmö högskola 2007/2008 Teknik och samhälle

Programmering för språkteknologer II, HT2011. Rum

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

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen , kl

Instuderingsuppgifter läsvecka 6 - LÖSNINGAR

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

Tentamen Nätverksprogrammering Lösningsförslag

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

DAT043 Objektorienterad Programmering

Tentamen Nätverksprogrammering Lösningsförslag

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

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

Tentamen. Lösningsförslag

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning

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

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

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

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

2D1339 Programkonstruktion för F1, ht 2004

Tentamen Nätverksprogrammering Lösningsförslag

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

Kort om klasser och objekt En introduktion till GUI-programmering i Java

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

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

Tentamen Nätverksprogrammering Lösningsförslag

Tentamen ID1004 Objektorienterad programmering May 29, 2012

Lösningsförslag övning 2.

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

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

2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik

Tentamen FYTA11 Javaprogrammering

Malmö högskola 2008/2009 CTS

Tentamen i Grundläggande programmering STS, åk 1 fredag

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

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

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU

Föreläsning 14. Filhantering

Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:

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

Språkkonventioner och redigering av tal.

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

DEL 1 För att få godkänt på tentan (betyg 3) måste du lösa minst fem av sju uppgifter i denna del.

Objektorienterad Programkonstruktion. Föreläsning jan 2016

TDDE10 TDDE11, 725G90/1. Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Fakulteten för ekonomi, kommunikation och IT. Corba. Datum: Mathias Andersson

DAT043 - Föreläsning 7

Laboration 13, Arrayer och objekt

Konstruktion av klasser med klasser

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

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

Interface. Interface. Tobias Wrigstad (baserat på bilder från Tom Smedsaas) 3 december 2010

TENTAMEN OOP

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Tentamen i Grundläggande programmering STS, åk 1 lördag

TENTAMEN: Objektorienterad programmering. Läs detta! Skriv din tentamenskod på varje blad (så att vi inte slarvar bort dem).

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

TDDC77 Objektorienterad Programmering

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Laboration 1 - Grunderna för OOP i Java

Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt idnummer på varje blad (så att vi inte slarvar bort dem).

Outline. Objektorienterad Programmering (TDDC77) Signatur. Klassen calculator. Överlagring (overloading) Arv (inheritance) Ahmed Rezine

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

Klasshierarkier. Klasser kan byggas på redan definierade klasser

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU

Sammanfattning och repetition utgående från typiska tentamensuppgifter

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: Tid: kl

OOP Objekt-orienterad programmering

Objektorienterad Programmering (TDDC77)

Ett objekt... Exempel: Om ni tittar er runt i föreläsningssalen ser in många olika fysiska föremål:

2D1342 Programkonstruktion för F1, ht 2006

Transkript:

Högskolan Dalarna sid 1 av 5 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR, TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2, 2001-04-28, kl 09.00-13.00 1. Grunderna i Java (10p) a) Vilka av följande påståenden är sanna? (3p) I. Java är ett objektorienterat språk. SANT II. Namn på variabler och objekt får innehålla bokstäverna å, ä och ö. SANT III. I Java kan man använda variabler, objekt, referenser och pekare. FALSKT IV. En medlemsvariabel som är deklarerad som "static" har ett värde som kan ändras. SANT V. I en klassmetod så kan instansvariabler förekomma. FALSKT class Rektangel private double höjden; private double längden; Rektangel(double hojd, double langd) höjden = hojd; längden = langd; double yta() return höjden * längden; class Test public static void main(string[] arg) Rektangel enrektangel = new Rektangel(4, 5); System.out.println("Rektangelns yta: " + enrektangel.yta());

d) Privata medlemsvariabler och metoder är endast synliga i den egna klassen Publika medlemsvariabler och metoders synlighet är inte begränsad Medlemsvariabler och metoders vars åtkomlighet inte är deklarerad är av typen paketåtkomst. Det innebär att synligheten är begränsad till det egna paketet. 2. Java: Fält och Strängar. Arv och gränssnitt. (7p) a. Program 2 kompilerar utan fel. Package-satsen ska vara först i programmet. b. Påståendena 1, 3, 5, 7 är sanna. c. Ett gränssnitt liknar en klass men har bara abstrakta metoder (endast deklarationer utan implementation) Data i klassen kan bara vara konstanter ej variabler. 3. Java: Användargränssnitt. Händelsehantering. Grafik och Applets. (7p) a. int result = 3 * Integer.parseInt(tf_num.getText()); tf_num.settext(string.valueof(result)); b. Adapterklasser ger en default implementering av alla lyssnarmetoder i ett lyssnargränssnitt så att man endast behöver implementera den lyssnarmetod som man själv använder i den aktuella tillämpningen. c. Metoderna 1 och 2är definierade i klassen Graphics 4. Dataströmmar (10p) import java.io.*; public class Summerare public static void main(string[] arg) throws IOException BufferedReader in = new BufferedReader(new FileReader("tal.txt")); String rad = in.readline(); double tal1 = Double.parseDouble(rad); rad = in.readline(); double tal2 = Double.parseDouble(rad); in.close(); double summa = tal1 + tal2; DataOutputStream ut = new DataOutputStream( new FileOutputStream("summa.bin")); ut.writedouble(summa); ut.close(); 2

5. SQL (10p) a) Typ 1, "JDBC-ODBC" drivrutin, översätter JDBC-anrop till motsvarande ODBC-anrop. ODBCdrivrutinen anropar därefter databasens server Typ 4, "Native-protocol/all-Java driver" kommunicerar direkt med databasservern public void listaböcker() throws Exception Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); anslutning = DriverManager.getConnection("jdbc:odbc:media","",""); Statement dbstmt = anslutning.createstatement(); ResultSet resultat = dbstmt.executequery("select * FROM books"); while (resultat.next()) System.out.println("---------------------------"); System.out.println(resultat.getString("author")); System.out.println(resultat.getString("title")); dbstmt.close(); anslutning.close(); public void registrerabok(string titel, String författare) throws Exception Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); anslutning = DriverManager.getConnection("jdbc:odbc:media","",""); String sql = "INSERT INTO books VALUES ('" + författare + "', '" + titel +"')"; Statement dbstmt = anslutning.createstatement(); dbstmt.executeupdate(sql); dbstmt.close(); anslutning.close(); 3

6. Klient - server (10p) a) Den ström av data som ska överföras via ett TCP/IP-nätverk delas upp av nätverket i paket. TCP/IP-nätverken består av ett antal lager. De lager som förekommer är, applikationslager, transportlager, nätverkslager och datalänklager. Varje lager har sin speciella uppgift. Lagrets beteende bestäms av dess protokoll. Transportlagrets protokoll TCP, delar upp strömmen av data i paket, och håller ordning på dessa paket när data tas i mot. Transportlagrets protokoll IP, beskriver hur adresseringen av data ska hanteras. Varje lager lägger till sin information till de paket av data som ska sändas via nätverket och på motsvarande sätt så avlägsnas motsvarande information av respektive lager då data läses från nätverket. <html> <head> <title>från Fahrenheit till Celsius</title> </head> <body> <jsp:usebean id="omvandlare" scope="request" class="fysik.temp"/> <jsp:setproperty name="omvandlare" property = "*" /> Temperatur i Celsius: <%=omvandlare.incelsius()%> </body> </html> package fysik; public class Temp private double fahrenheit; public Temp() public void setfahrenheit(double grader)fahrenheit = grader; public double incelsius()return 5.0/9.0 * (fahrenheit-32.0); 4

7. Objektorienterat (10p) public class Register private Fordon[] fordonsref; private int antal = 0; public Register(int storlek)fordonsref = new Fordon[storlek]; public void add(fordon ref)fordonsref[antal++] = ref; public void skrivinfo() for (int i=0; i<antal; i++) System.out.println(fordonsRef[i].info()); public abstract class Fordon private String regnr; public Fordon(String nr)regnr = nr; public String getnr()return regnr; public abstract String info(); public class Bil extends Fordon private String ägare; public Bil(String nr, String namn) super(nr); ägare = namn; public String info() return "Bil, regnr: " + getnr() + ", ägare: " + ägare; public class Traktor extends Fordon private int driftstid; public Traktor(String nr, int tid) super(nr); driftstid = tid; public String info() return "Traktor, regnr: "+getnr()+", driftstid: "+driftstid+" timmar"; 5