Tentamen i Webbprogrammering med Java
17 december 1998, kl 17.00 - 21.00
Tid: 4 timmar (du får gå tidigast efter 30
minuter)
Hjälpmedel: valfri Java-litteratur inkl
föreläsningsanteckningar
För godkännande krävs 25 p av 45 möjliga.
Du får svara på uppgifterna i valfri ordning, men ange
tydligt vilken uppgift du svarar på.
Du får behålla dessa papper. Rätta svar och
så småningom resultat och datum för visning och
eventuell omtenta anslås på kursens webbplats. E-post
när detta är klart skickas ut.
Lycka till!
- Vad blir skillnaden i åtkomst mellan metoder och
datafält, modifierade med private, protected, public och
"default" (dvs ingen modifierare)? Tag hänsyn till arv och
paket.
(4 p)
- Rita av och komplettera AWT-klasshierarkin (du får
gärna rita om den som ett upp-och-nedvänt träd):
- Object
- ______
- ______
- Canvas
- ______
- ______
- ______
- ______
- ______
- ______
- TextComponent
(5 p)
- Rita av och komplettera klasshierarkin hämtad från
paketet java.lang:
- Object
- ______
- Integer
- ______
- ______
- ______
- ______
- ______
(3 p)
- Rita av och komplettera klasshierarkin hämtad från
paketet java.util:
(1 p)
- Vad är gemensamt för klasserna direkt under Object i
ovanstående uppgifter? Det är en egenskap som skiljer
dessa från t ex Object.
(1 p)
- Vad är skillnaden mellan operatorena >> och
>>>?
(2 p)
- Om
i
är 3 och j
är 4, vad
blir i+++j
? Visa hur uttrycket beräknas. Vad
är i
resp j
efter det att detta
uttryck har beräknats?
(2 p)
- Vad betyder RMI?
(1 p)
- Vilka möjligheter ger RMI i kombination med JDBC? Rita en
skiss över ett typiskt system.
(3 p)
- Vad måste man göra precis innan man kan starta en
RMI-server?
(1 p)
- Vad är skillnaden mellan sockets och datagram?
(2 p)
- Skriv en metod howSick() som tar ett flyttal (febern i
oC) som inargument och som returnerar en sträng
med ett läkarutlåtande som kan vara: farligt låg,
låg, frisk, hög, eller farligt hög. Bestäm
själv temperaturgränserna.
(5 p)
- En del av undantagshierarkin ser ut så här:
- Exception
- IOException
- FileNotFoundException
- EOFException
- RunTimeException
Vad är det för fel på catch:arna i
följande kod? Skriv det rätta.
try {
...
} catch(Exception e) {
...
} catch(IOException e) {
...
} catch(FileNotFoundException e) {
...
}
(3 p)
- Förbättra paint-metoden så att den
använder double buffering (förutsätt vissa
medlemsvariabler och vissa anrop i init-metoden):
public void paint(Graphics g) {
// Add double buffering code here
g.setColor(Color.pink);
.
.
g.fillOval(0, 0, x2, y2);
g.setColor(Color.black);
g.drawOval(0, 0, x2, y2);
.
.
// And here
}
Lägg även till en lämplig update-metod. (Denna
paint-metod är hämtad från NewGraph -
ellipsritarprogrammet.)
(5 p)
- Skriv en applet som laddar en bakgrundsbild vid initiering och
som spelar upp ett ljud varje gång man trycker på en
knapp. Ljudet skall spelas med hjälp av interfacet
AudioClip:s play-metod. Appletten skall ha parametrarna image och
sound som innehåller filnamnen för bilden respektive
ljudet. Filerna skall ligga i samma mapp som html-filen. Skriv
även ett exempel på applet-taggen som skall läggas
in i html-dokumentet.
(7 p)
Copyright © 1998 by Mikael
Bonnier, Lund, Sweden