• No results found

5. En metod som anropar sig själv a) får inte förekomma i Java-program b) kallas destruktiv c) kallas iterativ d) kallas rekursiv 6. Vilka värden har

N/A
N/A
Protected

Academic year: 2022

Share "5. En metod som anropar sig själv a) får inte förekomma i Java-program b) kallas destruktiv c) kallas iterativ d) kallas rekursiv 6. Vilka värden har"

Copied!
9
0
0

Loading.... (view fulltext now)

Full text

(1)

Exempel på tentafrågor i Java

Förstföljerfrågoravervalstyp.Frågornaärinteordnadeeftersvårighetsgrad.

1.Skillnadenmellantypernaintochlongär att

a) Ivariableravtyplongkanmanlagrayttal,iint-variablerbaraheltal

b)I longkanmanlagrabådeheltalochyttal ochdetkanmaninteiint

c) Ilongkanmanlagrastörreheltaläniint

d)Ingen ava)b)ellerc) ärrätt

2.Följandekodavsnittexekverasienmain-metod.Hurmångagångerskrivstexten

Java-studentut?

for (int i=0; i<10; i++)

System.out.println(''Java-student'');

a) 0gånger

b)9gånger

c) 10gånger

d)Ingetava)b)ellerc)ärrätt

3.Envariabelsomanvändsienmetodmåste vara

a) Enklassvariabel

b)En instansvariabel

c) Enlokalvariabelimetodenellerenformell parametertill metoden

d)a), b)ellerc)

e) a)ellerc)

f)b)ellerc)

4.Studeraföljandekodavnsitt

int x = 0;

while (x < 10)

x++;

System.out.println(x);

Vilket avföljandepåståendenärkorrekt?

a) 10olikavärdenpåxkommerattskrivasut

b)Ingavärdenpåxkommerattskrivasut

c) 9olikavärdenpåxkommerattskrivasut

d)Ettvärde påxkommerattskrivasut

e) 10likadanavärdenpåxkommerattskrivasut

f)Kodenkommerattresulteraienoändligloop(repetition)

(2)

a) fårinteförekommaiJava-program

b)kallasdestruktiv

c) kallasiterativ

d)kallasrekursiv

6.Vilkavärdenharvariablernaxochyefternedanstående kodavsnitt?

int x = 0, y = 0;

if (x > 0) {

y = 1;

}

else {

x = 7;

}

a) x=0,y=0

b)x=7, y=0

c) x=0,y=1

d)x=7, y=1

7.Deklarationenochinitieringen

int[] resultat = new int[10];

reserverarplatsiminnetför

a) enreferensvariabeloch10heltalsvariabler

b)endast 10heltalsvariabler

c) endastenreferensvariabel

8.AntagattklassenSkrivningharenklassmetodsomheterskrivStatistikoch att

tyskaht02är eninstans avklassen Skrivning.Metoden skrivStatistikanropasfrån

enannan klassänSkrivningmed

a) tyskaht02.skrivStatistik();

b)Skrivning.skrivStatistik();

c) skrivStatistik();

9.OmmetodenvisaResultatäreninstansmetodiklassenSkrivning ochtyskaht02

äreninstansavSkrivning såanropasmetodenvisaResultatmed

a) tyskaht02.visaResultat();

b)Skrivning.visaResultat();

c) visaResultat();

(3)

int x = 1;

boolean b = (x == 1);

a) b=0 b)b=1 c) b=true d)b=false

11. Medhjälpavordetextendskanmanskapaenny

a) instans

b)superklass

c) subklass

12. Enknapp,dvs eninstansavklassen Button,kanorsakaenhändelse (event)i

Javaförutsattatt

a) KnappenärdeklareradienklasssomärverfrånApplet

b)Knappenärdeklareradienmetod somheteractionPerformed

c)EnklasssomimplementerarActionListenerärregistrerad(kopplad)somlyssnare

till knappen.

13. Eftersatserna

int[] pp = {83, 85, 89, 54, 55};

int[] qq = pp;

så ärvärdetavqq[2]

a) 89

b)0

c) odenierat,manfårfelavbrottommanförsökeranvändaqq[2]

14. EttuttryckiJavaavtypenyyy.xxx()måstevara

a) endeklaration

b)ett metodanrop

c) enuppmaningattklassenxxxskallärvafrånklassen yyy

d)otillåtet

15.VadhänderommanstavarfeliettJavaprogramochskriverdobleiställetför

doublevid deklarationavenyttalsvarabel?

doble yta = 0;

a) Programmetgårinte attkompilera,ochdärmedinteatt köra.

b)Detgårbraeftersomdobleärväldigt liktdouble.

c) Detgåratt kompileraoch köraprogrammet sålänge maninte användervärdet

avvariabelnyta.

(4)

a) instans

b)superklass

c) subklass

17. Tilldelningssatsendouble y = (5 + 3 + 8/2)/10;ger yvärdet

a) 0b)0.8c) 1.2

18. Vilketavföljandepåståendenommetoderärsant?

a) Envoid-metodmåste haenreturn-sats

b)En void-metodfårhaenreturn-sats

c) Envoid-metodfårintehaenreturn-sats

19. Metodenkubdeklareras

int kub(int x) {

return x*x*x;

}

Vilkatvå av följande alternativär korrekta anropavmetoden kub (inom samma

klasssomkubärdenierad)?

a) inty=kub(5);

b)kub(7,11);//förattfåbåde7 3

och11 3

c) intz=kub(kub(4));

d)intx=13;kub();//förattfå13 3

20. Metodenaddkananropasit.ex.enAppletochanvändsföratt

a) läggainegnametoddenitioneriappleten.

b)adderayttalsvariableriappleten

c) läggagraskakomponenter(t.ex. knapparochscrollbars)iappletfönstret.

21. Vilkavärdenharvariablernau ochwefterkodavsnittet?

int u=1, w=0;

if (u>0) {

u = u + 1;

if (w >=0) {

w = w + 5;

}

w = w + 1;

}

a) u=2,w=0

b)u=2,w=5

c) u=2,w=6

d)u=1,w=0

(5)

i uttrycket?

int slumptal = 1 + (int) (Math.random()*6);

a) Attskapaettslumptal

b)(int)ärenskalfaktor

c) Attgöraettheltalavettyttal

23. Vilkavärdenkanvariabelnslumptalifråga22anta?

a) 1,2,3,4,5eller6

b)0,1,2,3,4,5eller6

c) 1,2,3,4,5,6eller7

d)0eller1

e) endast0

24. IJavannsautomatiskgarbagecollection(skräpsamling).Detinnebäratt

a) omett programanvänderminneöverenvissgränssåkommerendelobjektatt

städasbort.

b) omdet inte längrenns någon referens till ett objekt så kommerobjektet att

städasbort.

c) om det nns era referenser till samma objekt så kommer de överödiga att

städasbort

25. KlassenObjectharensärskildställningiJavanämligen:

a) Allaklasseri JavaärverfrånObjectutanattdetbehöverskrivasut

b)Alla biblioteksklasserärverfrånObjectmeninte deklasserman skriversjälv

c) KlassenObjectkanärvafrånvilkenklasssomhelst.

26. Uttrycket String test = ''1234'' + ''2121''; är

a) intetillåtetdåmaninte kanadderauttryckavtyp String

b)tillåtetochgeratttestfårvärdet3355

c) tillåtetochgeratttestfårvärdet12342121

27. Vilkavärdenharvariablernau ochwefterkodavsnittet?

int u=0, w=0;

if (u>0) {

u = u + 1;

if (w >=0) {

w = w + 5;

}

w = w + 1;

}

a) u=2,w=0 b)u=2,w=5

c) u=2,w=6 d)u=0,w=0

(6)

a) 36 b)4 c)15

29. Modierarenfinalframförettvariabelnamnbetyderatt

a) Variabelnfårtilldelasvärdeengångochsedaninteändras

b)Variabelnmåstestå sistblanddeklarationernaiklassen

c)Variabelnärenklassvariabelochtillgängligutanattinstanseravklassenskapats.

30.JavaprogramskrivssomAppletellerapplication(friståendeprogram).Närman

vill skrivaettprogramsomläseregnadatafrånlbörman

a) skrivaenApplet därförattfriståendeprogramkanavsäkerhetsskälintekomma

åt lerpåden datordeexekveras

b)skrivaettfriståendeprogramdärförattAppletskanavsäkerhetsskälintekomma

åt lerpåden datordeexekveras

c) intelåtalhanteringenavgöravilket manväljer

Svar till ervalsdelen

1) c 2) c 3)d 4)d 5)d 6)b 7) a

8) b 9)a 10)c 11)c 12)c 13)a 14)b

15)a 16)a 17)c 18)b 19)aoch c 20)c

21)c 22)c 23)a 24)b 25)a 26)c 27)d

28)a 29)a 30)b

Programmeringsuppgifter.

P1)

ManvillskrivaenAppletsomritarenradmed10ststjärnordiagonaltöverApplet-

fönstret,frånövrevänstrahörnettillnedrehögrahörnet.Stjärnornaskalldessutom

minskai storleksåatt stjärnaniövrevänstrahörnet ärstörstoch stjärnanined-

re högra hörnet är minst. Metoden drawStar i appleten nedan ritar en stjärna.

Stjärnanspositionangesiparametrarnanr 2och3ochdessstorlekidensista pa-

rametern. Kompletterapaintmetodensåattden önskadestjärnradenskrivsut.

Obs!! Ni behöver inte räkna ut positioner så att ett fönster av någon viss stolek

täcks. Det viktiga är bara att positionerna ändras i diagonal riktning. Negativa

värdenpåpositionerellerstorlekmedför dockpoängavdrag.

public class StarDiagonal extends Applet {

public void paint(Graphics g) {

// Här skall svaret på uppgiften skrivas in

}

private void drawStar(Graphics g, int x, int y, int size) {

// Här ligger satser som ritar en stjärna med storlek size

// i position x, y

}

(7)

Ettgammaldagsengelskspråkigttextbehandlingsprogramkanintehanterabokstä-

verna Å, Ä ellerÖ. För attkunna användadetta program vill vi bl.a. skrivakod

sombyter utÅoch ÄmotAochÖmotOi enteckenvektor.Viantarattvibara

harstorabokstäverivåratexter.

a)

Skriv försten metod som harett tecken som parameteroch returnerar A om in-

dataärÅellerÅ,OomindataärÖsamtreturnerarindatatecknetsjälvtiannatfall.

b)

Skrivkodsomgårigenomenteckenvektorsomärdeklarerad

char[] minTextochgörbokstavsbytenaenligtovan.AntagattvariabelnminText

innehåller en text. Antalettecken i texten kanläsas avmed minText.length. Om

duintekanlösauppgifta)ärdettillåtetattlösahelauppgiftenutanmetodenfrån

a). Detgerettlitetpoängavdrag.

P3) Skriv satser i Javasom deklareraren referensvariabel för en NN- matris.

Antag att N redan är deklarerad och har ett värde. Skriv sedan satser som ger

matrisenvärdenenligtföljandeexempel,N =5här.

1 2 3 4 5

2 4 6 8 10

3 6 9 12 15

4 8 12 16 20

5 10 15 20 25

P4)

En polygon ären följd av punkter i xy-planet. För behandling av polygoner kan

man användaklassernaPunkt ochPolygon(vistruntarför tillfälletiatt detnns

standardklasseriJavaförhanteringavpunkterochpolygoner).KlassenPunktskall

haföljande gränssnitt:

Punkt(x, y)

konstruktorn, skapar en punkt

int visaX()

ger punktens x-koordinat

int visaY()

ger punktens y-koordinat

double distans(Punkt p)

ger avståndet från punkten till en annan punkt p

a)SkrivklassenPunkt.Vidberäkningenavavståndetkanduhanyttaavmetoden

förkvadratrotsberäkning.Dennahetersqrtochärenklassmetodistandardklassen

Math.

Härärendelavgränssnittettill klassenPolygon(fortsätterpånästasida):

Polygon(int[] x, int[] y)

konstruktorn, skapar en polygon en vektor med

x-koordinater och en vektor med y-koordinater

(8)

double minDist (Punkt p)

ger minsta avståndet från punkten p till Polygonen

P4 b) Låt polygonen representeras internt med en vektor av instanser av klassen

Punkt. Skrivdeklarationenav deninstansvariabelsom lagrarpolygonenspunkter

samtskrivkonstruktornförklassen Polygon.

P4c)Skrivmetodenomkrets

P4d)SkrivmetodenminDist

Lösningar till programmeringsuppgifterna

P1) De absoluta värdena för stjärnornas positioner och storlekar är förstås inte

viktiga. Detviktigaärattstorlekenminskar(ochinte gårunder 0) samtatt både

x-och y-positionernaökar.

public void paint(Graphics g) {

int size = 50;

for (int i = 0; i< 10; i++) {

drawStar(g, i*40, i*40, size);

size -= 4;

}

}

P2a)

char toEnglish (char c) {

if (c == 'Å' || c == 'Ä')

return 'A';

else

if (c=='Ö')

return 'O';

else

return c;

}

P2b)

for (int i = 0; i< minText.length; i++)

minText[i] = toEnglish(minText[i]);

P3)

int[][] m = new int[10][10];

for (int i=0; i<10; i++)

for (int j=0; j<10; j++)

m[i][j] = (i+1)*(j+1);

(9)

class Punkt {

private int x, y;

Punkt(int ix, int iy) {

x = ix;

y = iy;

}

public int visaX () {

return x;

}

public int visaY () {

return y;

}

public double distans (Punkt p) {

double dx = x - p.x;

double dy = y - p.y;

return Math.sqrt(dx*dx + dy*dy);

}

}

// P4 b)

private Punkt[] poly;

Polygon (int[] x, int[] y) {

poly = new Punkt[x.length];

for (int i=0; i<x.length; i++)

poly[i] = new Punkt(x[i], y[i]);

}

// P4 c)

public double omkrets() {

double om = 0;

for (int i=0;i<poly.length-1; i++)

om += poly[i].distans(poly[i+1]);

om += poly[poly.length-1].distans(poly[0]);

return om;

}

// P4 d)

public double minDist(Punkt p) {

double dmin=100000000, d=0;

for (int i=0; i<poly.length; i++) {

d = p.distans(poly[i]);

if (d<dmin)

dmin = d;

}

return dmin;

References

Related documents

Hodnocení územního rozvoje m sta Rokytnice nad 1 Jizerou:

D Gör uppgiften fl era gånger med olika antal stickor.. E Kan resten bli hur stor

Formativ bedömning är bedömning för lärande vilket innebär att det ska främja elevernas fortsatta kunskapsutveckling. Fokusen inom formativ bedömning ligger på lärandeprocessen

VYKRES MATERIAL POZNAMKA JED.. OZNACENI

VYKRES MATERIAL POZNAMKA JED. OZNACENI

[r]

VYKRES MATERIAL POZNAMKA JED. OZNACENI

VYKRES MATERIAL POZNAMKA JED. OZNACENI