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

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

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

Klasshierarkier - repetition

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

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

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

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

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen , kl

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.

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

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

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

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

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

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

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.

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

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

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.

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

Laboration 1 - Grunderna för OOP i Java

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)

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