INDA - Uppgift 10 2006/2007
INDA - Skrivning december 2005 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 exekvera följande metod? public void mystery() { int i = 3; System.out.println(i/2*1.5); }
2. Vad händer om man exekverar följande metod? public void mystery() { int n = 2; int sum = 0; for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) sum += i; System.out.println(sum); }
3. 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() { String s = ""; String t = s; if (s == t) System.out.print("A"); if (s.equals(t)) System.out.print("B"); System.out.println(); }
4. Vad blir resultatet av metodanropet mystery(5)? public int mystery(int n) { if (n <= 2) return n; else return (n - 1) * mystery(n - 2); }
5. Vad händer om man försöker kompilera klassen Mystery och sedan försöker skapa ett Mystery-objekt? import java.util.Random; public class Mystery { private boolean secret; public Mystery() { this.secret = ((new Random()).nextInt() % 2 == 0); } public boolean isSecret() { return this.secret; } }
6. Vad blir utskriften när man exekverar metoden mystery? (Du kan anta att båda metoderna ligger i samma klass.) public void mystery() { int m = 1; int n = 2; secret(m, n); System.out.println(m + "+" + n); } public void secret(int m, int n) { m = m * n / 2; n = m / n * 2; }
7. Vad händer om man försöker kompilera och exekvera följande metod? public void mystery() { int[] v = new int[2]; int sum = 0; for (int i = 0; i < v.length; i++) sum += v[i]; System.out.println(sum); }
8. Betrakta följande två klasser. Vad händer om vi skapar ett objekt i bluej med kommandot new KeyChain({new Key(1), new Key(2)}) och därefter anropar metoden mystery(3) på detta objekt? public class Key { private long value; public Key(long value) { this.value = value; } public long value() { return value; } } - - - import java.util.ArrayList; public class KeyChain { private ArrayList keys = new ArrayList(); public KeyChain(Key[] keys) { for (int i = 0; i < keys.length; i++) this.keys.add(keys[i]); } public boolean mystery(long key) { boolean keyFound = false; for (int i = 0; i < keys.size(); i++) if (key == ((Key) keys.get(i)).value()) keyFound = true; return keyFound; } }
9. Vad händer om man försöker kompilera och sedan skapa två objekt av följande klass? public class Mystery { private static int nrOfMysteries = 0; public Mystery() { nrOfMysteries += 1; } }
10. Vad blir resultatet av metodanropet mystery(v, 0, v.length - 1)? // Pre: 0 <= a <= b + 1 <= v.length public int mystery(int[] v, int a, int b) { if (a >= b) return b - a + 1; return 2 + mystery(v, a + 1, b - 1); }
Stefan Nilsson 2006-10-17 |