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)
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();
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.
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
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
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
}
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
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);
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;