|
Extenta DD1332 Inga hjälpmedel är tillåtna. Kryssa för ett alternativ per uppgift. För godkänt på uppgiften krävs rätt svar på minst hälften av frågorna. 1. Vad händer om man försöker kompilera och köra följande metod? (Du kan anta att metoden finns i en korrekt utformad klass.)
public void mystery() {
double x = 2;
System.out.println(7/x);
}
2. Vad händer om man exekverar följande metod?
public void mystery() {
int i;
for (i = 3; i > 2; i--) {
System.out.print(i + " ");
}
System.out.println(i);
}
3. Vad händer om man försöker exekvera följande metod?
public void mystery() {
String s = "t";
String t = s;
if (s.equals(t)) {
System.out.print("A");
}
if (s == t) {
System.out.print("B");
}
if (s.length() == t.length()) {
System.out.print("C");
}
System.out.println();
}
4. Vad blir resultatet av metodanropet mystery(4)?
public int mystery(int n) {
if (n <= 2) {
return n;
} else {
return mystery(n - 2) + mystery(n - 1);
}
}
5. Vad händer om man försöker kompilera klassen U5 och sedan försöker skapa ett U5-objekt och anropa metoden serve() på detta objekt?
public class U5 {
private String sentence;
public U5() {
this.sentence = "10 years in prison";
}
public String serve() {
return this.sentence;
}
}
6. Vad blir utskriften när man exekverar metoden mystery(1)? (Du kan anta att båda metoderna ligger i samma klass.)
public void mystery(int i) {
int j = 2*i;
int k = secret(i, j);
System.out.println(i + " " + j + " " + k);
}
public int secret(int i, int j) {
i++;
j--;
if (i < j) {
return i;
} else if (i > j) {
return j;
} else {
return i + j;
}
}
7. Vad händer om man exekverar följande metod?
public void mystery() {
String[] v = {"A", "B", "C"};
for (int i = 0; i < v.length; i++) {
v[0] += v[i];
}
System.out.println(v[0]);
}
8. Betrakta följande två klasser.
public class Chapter {
private int value;
public Chapter(int value) {
this.value = value;
}
public int value() {
return value;
}
}
- - -
import java.util.ArrayList;
public class Book {
private ArrayList<Chapter> chapters;
public Book(Chapter[] ch) {
chapters = new ArrayList<Chapter>();
for (int i = 0; i < ch.length; i++) {
chapters.add(ch[i]);
}
}
public int mystery() {
int sum = 0;
for (Chapter ch : chapters) {
sum += ch.value();
}
return sum;
}
}
- - -
Vad händer om vi skapar ett objekt på följande sätt
new Book(new Chapter[]{new Chapter(1), new Chapter(2)})
och därefter anropar metoden mystery() på detta objekt?
9. Vilken utskrift får man när man exekverar följande metod?
public void mystery() {
boolean hasStarted = true;
boolean hasFinished = false;
System.out.print("I'm");
if (hasStarted && !hasFinished) {
System.out.print(" busy and");
}
if (hasFinished == !true) {
System.out.print(" " + !hasFinished + "ly");
}
System.out.println(" overworked.");
}
10. Vad händer om man försöker kompilera och sedan anropa metoden mystery()?
public int mystery() {
int[] v = new int[3];
int sum = 0;
for (int i : v) {
sum += i;
}
return sum;
}
Stefan Nilsson 2016-02-29 |