Ebben a bejegyzésben összegyűjtöttem néhány feladványt az 1Z0-804 vizsga kérdésekből, amelyek tipikusan jellemzik a feladatokat. A vizsgán 90 feladatot kell megoldani 150 perc alatt, amiből legalább 65%-ot kell teljesíteni! A feladatok egy része a lexikális Java API tudásra épít (pl. milyen konstruktorai vannak a Locale osztálynak) a többi pedig az alábbi példákhoz hasonló mit ír ki program:
public enum Book { BEGINNER, INTERMEDIATE; static { System.out.println("static init block"); } { System.out.println("instance initializer"); } Book() { System.out.println("constructor"); } public static void main(String... args) { System.out.println(Book.BEGINNER); } }
2. Integer
public class MyInteger { public static void main(String[] args) { Integer i1 = 127; Integer i2 = 127; Integer i3 = 128; Integer i4 = 128; if (i1 == i2) System.out.println("same"); else System.out.println("different"); if (i3 == i4) System.out.println("same"); else System.out.println("different"); } }
3. CopyOnWriteArraySet
public class MyCopy { public static void main(String[] args) { Set<String> set = new CopyOnWriteArraySet<String>(); set.add("2"); Iterator<String> iter = set.iterator(); set.add("3"); while (iter.hasNext()) { System.out.print(iter.next() + " "); } } }
4. Overload
class MyOverLoad { private void overload(Object o) { System.out.println("Object"); } private void overload(double[] arr) { System.out.println("double []"); } private void overload(double arr) { System.out.println("double"); } private void overload(int arr) { System.out.println("int"); } private void overload() { System.out.println("void"); } public static void main(String[] args) { new My().overload(null); } }
5. Calendar
class MyCalendar { public static void main(String[] args) { DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.US); Calendar c = Calendar.getInstance(); c.set(Calendar.YEAR, 2012); c.set(Calendar.MONTH, 12); c.set(Calendar.DAY_OF_MONTH, 1); System.out.println(df.format(c.getTime())); } }
6. TreeSet
class MyTreeSet { public static void main(String[] args) { TreeSet<StringBuilder> treeSetNames = new TreeSet<StringBuilder>(); treeSetNames.add(new StringBuilder("aaa")); treeSetNames.add(new StringBuilder("bbb")); treeSetNames.add(new StringBuilder("ccc")); treeSetNames.add(new StringBuilder("ddd")); Iterator it = treeSetNames.descendingIterator(); while (it.hasNext()) System.out.print(it.next() + ":"); } }
és a megoldások:
1. Enum
instance initializer
constructor
instance initializer
constructor
static init block
BEGINNER
2. Integer:
same
different
3. CopyOnWriteArraySet:
2
4. Overload:
double []
5. Calendar:
January 1, 2013
6. TreeSet:
java.lang.ClassCastException
Szia!
VálaszTörlésGondolom Locale osztálynak (Local helyett). Amúgy a felkészítő feladatok szerintem sokkal gonoszabbak, mint maga a vizsga. Ott keresed benne a trükköt, és sokszor nem találod.
Nice catch! Javítottam. Ebben lehet igazság, habár a vizsgán 2.5 órán keresztül folyamatosan koncentrálnod kell, ami könnyen elviheti ezt az előnyt.
Törlés