1. Co można powiedzieć o poniższym kodzie? package pakieta; import pakietb.b; private B b; package pakietb; public class B { B(){ A(B b) { this.b = b; a) Jego kompilacja nie powiedzie się (w klasie A nie można tak zaimportować klasy B) b) Jego kompilacja nie powiedzie się (pojawi się informacja o ograniczonym dostępie) c) Jego kompilacja powiedzie się, lecz utworzenie obiektu klasy A w innym kawałku kodu nie będzie możliwe d) Jego kompilacja powiedzie się, a utworzenie obiektu klasy A w innym kawałku kodu będzie możliwe
2. Co można powiedzieć o poniższym kodzie? package inny; import inny.a; inny.a a = new inny.a(); a) Jego kompilacja nie powiedzie się (nie można w danej klasie skorzystać z klasy o tej samej nazwie pochodzącej z innego pakietu) b) Jego kompilacja nie powiedzie się (nie można w danej klasie zaimportować klasy o tej samej nazwie pochodzącej z innego pakietu) c) Jego kompilacja nie powiedzie się (klasa A po prawej powinna być umieszczona w jakimś pakiecie, a nie znajdować się w pakiecie domyślnym) d) Jego kompilacja przebiegnie bez przeszkód
3. Co można powiedzieć o poniższym kodzie? package pakieta; import pakietb.b; { B b = new B(); public A(){ package pakietb; import pakieta.a; public class B extends A{ public B(){ public static void main(string[] args) { B b = new B(); a) Jego kompilacja nie powiedzie się (źle zadeklarowana klasa A) b) Jego kompilacja nie powiedzie się (źle zadeklarowana klasa B) c) Jego kompilacja przebiegnie bez przeszkód, jednak po uruchomieniu metody main pojawi się wyjątek d) Jego kompilacja i uruchomienie metody main przebiegną bez przeszkód
4. Co można powiedzieć o poniższym kodzie? { s = s + "1"; public A() { s = s + "2"; public String s = "A"; public static void main(string[] args) { System.out.println(new A().s); a) Jego kompilacja nie powiedzie się b) Po kompilacji i wykonaniu metody main na ekranie pojawi się: A12 c) Po kompilacji i wykonaniu metody main na ekranie pojawi się: 12A d) Po kompilacji i wykonaniu metody main na ekranie pojawi się: 21A
5. Co można powiedzieć o poniższym kodzie? public static A() { s = s + "2"; String s = "A"; public static void main(string[] args) { System.out.println(A.A().s); a) Jego kompilacja nie powiedzie się (pole s powinno być statyczne) b) Jego kompilacja nie powiedzie się (deklaracja pola s powinna być umieszczona przed definicją konstruktora) c) Jego kompilacja nie powiedzie się (źle zadeklarowano konstruktor klasy A) d) Po kompilacji i uruchomieniu metody main na ekranie pojawi się A2
6. Co można powiedzieć o poniższym kodzie? public abstract class A { protected int i; public abstract void seti(int i); public abstract A(int i); public A() { this.i = 0; public class B extends A { B() { public super(int i){ this.i = i; public void seti(int i){ this.i = i; a) Jego kompilacja nie powiedzie się (konstruktor nie może być abstrakcyjny) b) Jego kompilacja nie powiedzie się (w klasie B nie ma dostępu do pola i) c) Jego kompilacja nie powiedzie się (bezargumentowy konstruktor w klasie B powinien być publiczny) d) Jego kompilacja przebiegnie poprawnie
7. Co można powiedzieć o poniższym kodzie? Integer i; void m(integer i) { i = 12; public static void main(string[] args) { A a1 = new A(), a2 = new A(); a1.m(a2.i); // 1 System.out.println(a1.i + a2.i); // 2 a) Jego kompilacja przebiegnie poprawnie, a po uruchomieniu pojawi się wyjątek w linii 1 b) Jego kompilacja przebiegnie poprawnie, a po uruchomieniu pojawi się wyjątek w linii 2 c) Jego kompilacja i uruchomienie przebiegnie poprawnie, na ekranie pojawi się: 0 d) Jego kompilacja i uruchomienie przebiegnie poprawnie, na ekranie pojawi się: 12
8. Co można powiedzieć o poniższym kodzie? class A { String s = "A"; void n(){ System.out.print(s+"A.n "); void m(){ System.out.print(s+"A.m "); public static void main(string[] args){ A a1 = new C(), a2 = new D(); a1.m(); a2.m(); class B extends A{ String s = "B"; void n(){ System.out.print(s+"B.n "); void m(){ n(); class C extends A{ String s = "C"; void m(){ super.m(); class D extends B{ String s = "D"; void m(){ super.m(); a) Jego kompilacja nie powiedzie się b) Jego kompilacja i uruchomienie metody main przebiegnie poprawnie, na ekranie pojawi się: AA.m BB.n c) Jego kompilacja i uruchomienie metody main przebiegnie poprawnie, na ekranie pojawi się: CA.m DB.n d) Jego kompilacja i uruchomienie metody main przebiegnie poprawnie, na ekranie pojawi się: AA.m BB.m
9. Co można powiedzieć o poniższym kodzie? int i=0,j = 0; et2: while(i<3){ i++; et1: do { System.out.print(i+ " " + j + ","); if (i%2 ==0) continue et2; else break et1; j++; while (j<3); j=0; a) Jego kompilacja zakończy się błędem b) Jego kompilacja i uruchomienie powiedzie się. Na ekranie zostanie wypisane 1 1,1 2,2 1, c) Jego kompilacja i uruchomienie powiedzie się. Na ekranie zostanie wypisane 0 1,1 2,2 3, d) Jego kompilacja i uruchomienie powiedzie się. Na ekranie zostanie wypisane 1 1,2 1,3 2,
10. Co można powiedzieć o poniższym kodzie? Integer[][] t = {{1,2,3,{4,5,6,{7,8,9; // 1 for(object i: t){ // 2 System.out.print(((Integer[])i)[1]); // 3 a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja zakończy się błędem w linii 3 d) Jego kompilacja i uruchomienie powiedzie się. Na ekranie zostanie wypisane 258
11. Co można powiedzieć o poniższym kodzie? package pakieta; public class A implements I { public static void main(string[] args) { new A().m(new B()); @Override public void m(b b) { System.out.println(b.j); package pakieta; public interface I { void m(b b); class B{ public int j=0; package pakieta; public class B { public int j=1; a) Jego kompilacja zakończy się błędem b) Jego kompilacja przebiegnie poprawnie. Przy próbie uruchomienia metody main pojawi się wyjątek c) Jego kompilacja i uruchomienie metody main przebiegnie poprawnie, na ekranie pojawi się: 0 d) Jego kompilacja i uruchomienie metody main przebiegnie poprawnie, na ekranie pojawi się: 1
12. Co można powiedzieć o poniższym kodzie? void k(j j){ j.m(); public static void main(string[] args) { A a = new A(); a.k(() ->{System.out.println("1");); interface I{ default void m(){ System.out.println("0"); interface J extends I{ void n(); a) Jego kompilacja zakończy się błędem b) Jego kompilacja przebiegnie poprawnie. Przy próbie uruchomienia metody main pojawi się wyjątek c) Jego kompilacja i uruchomienie metody main przebiegnie poprawnie, na ekranie pojawi się: 0 d) Jego kompilacja i uruchomienie metody main przebiegnie poprawnie, na ekranie pojawi się: 1
13. Co można powiedzieć o poniższym kodzie? public class A implements I { A() { I.i = 2; // 2 public static void main(string[] args) { A a = new A(); a.m(); interface I { static int i = 1; // 1 void m(); @Override public void m() { System.out.println(I.i); a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja i uruchomienie metody main przebiegnie poprawnie, na ekranie pojawi się: 1 d) Jego kompilacja i uruchomienie metody main przebiegnie poprawnie, na ekranie pojawi się: 2
14. Co można powiedzieć o poniższym kodzie? import java.io.fileinputstream; import java.io.ioexception; class E1 extends Exception{ class E2 extends E1{ public void m() throws E1, E2, IOException { FileInputStream is = new FileInputStream("in.txt"); is.close(); public static void main(string[] args) { A a = new A(); try { a.m(); catch (IOException E2 E1 e) { a) Jego kompilacja i uruchomienie metody main powiedzie się b) Jego kompilacja zakończy się błędem (wewnątrz metody m nie są nigdzie wyrzucane wyjątki E1 i E2 stąd nie powinno ich być na liście w instrukcji catch) c) Jego kompilacja zakończy się błędem (na liście w bloku catch brakuje FileNotFoundException) d) Jego kompilacja zakończy się błędem (na liście w bloku catch nie mogą wystąpić jednocześnie E1 i E2)
15. Co można powiedzieć o poniższym kodzie? P p1 = { 10, 10 ; // 1 P p2[] = { new P(), new P() ;// 2 P p3[1]; // 3 public class P { public int x, y; a) Jego kompilacja powiedzie się b) Jego kompilacja zakończy się błędem w linii 1 c) Jego kompilacja zakończy się błędem w linii 2 d) Jego kompilacja zakończy się błędem w linii 3
16. Co można powiedzieć o poniższym kodzie? import java.util.list; class C extends B { class B extends A { public static void m(list<? extends B> l){ // 0 l.add(new A()); // 1 l.add(new B()); // 2 l.add(new C()); // 3 a) Jego kompilacja zakończy się błędem (źle zadeklarowano metodę w linii 0) b) Jego kompilacja zakończy się błędem (żadna z operacji dodawania do listy nie jest poprawna) c) Jego kompilacja zakończy się błędem (poza dodawaniem w linii 1 pozostałe dodawania są poprawne) d) Jego kompilacja zakończy się błędem (poza dodawaniem w linii 3 pozostałe dodawania są poprawne)
17. Co można powiedzieć o poniższym kodzie? class C extends B<Object> { class B<U> extends A<T> { public class A<T> { public T t; public static void main(string[] args) { A<?> a = new C(); System.out.println(a); a) Jego kompilacja i uruchomienie metody main uda się, na ekranie pojawi się: C@15db9742 b) Jego kompilacja i uruchomienie metody main uda się, na ekranie pojawi się: A@15db9742 c) Jego kompilacja i uruchomienie metody main uda się, na ekranie pojawi się: A<Object>@15db9742 d) Jego kompilacja zakończy się błędem
18. Co można powiedzieć o poniższym kodzie? import java.util.collections; import java.util.comparator; import java.util.linkedlist; import java.util.list; class C implements Comparator<Integer> { // 1 @Override public int compare(integer o1, Integer o2) { return o1-o2; public static void main(string[] args) { List<?> l = new LinkedList<Integer>(); // 2 Collections.sort(l,new C()); // 3 a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja zakończy się błędem w linii 3 d) Jego kompilacja i uruchomienie metody main powiedzie się
19. Jak wygląda wynik wykonania poniższego kodu, Ramka frame = new Ramka(); frame.setvisible(true); jeśli klasy Ramka i Panel zadeklarowano jak niżej (pokazano jedynie istotne fragmenty kodu)? public class Ramka extends JFrame {... public Ramka() { getcontentpane().setlayout(new FlowLayout()); setbounds(100, 100, 100, 100); getcontentpane().add(new Panel()); public class Panel extends JPanel { public Panel() { setpreferredsize(new Dimension(300,200)); @Override protected void paintcomponent(graphics g) { g.drawoval(0, 0, 299, 199); a) b) c) d)
20. Jak wygląda wynik wykonania poniższego kodu, Ramka frame = new Ramka(); frame.setvisible(true); jeśli klasy Ramka i Panel zadeklarowano jak niżej (pokazano jedynie istotne fragmenty kodu)? public class Ramka extends JFrame {... public Ramka() { getcontentpane().setlayout(new BorderLayout(0,0)); setbounds(100, 100, 150, 150); getcontentpane().add(new Panel()); public class Panel extends JPanel { public Panel() { setlayout(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); c.fill = GridBagConstraints.HORIZONTAL; c.gridx = 3; c.gridy = 3; add(new JButton("1"), c); c.gridx = 1; c.gridy = 1; add(new JButton("2"), c); c.gridx = 2; c.gridy = 2; add(new JButton("3"), c); a) b) c) d)
21. Co można powiedzieć o poniższym kodzie (zakładając, że przycisk zostanie dodany do jakiegoś wyświetlanego panelu)? JButton btnnewbutton = new JButton("1"); btnnewbutton.addmouselistener(new MouseAdapter() { @Override public void mouseclicked(mouseevent e) { System.out.print("C "); @Override public void mousepressed(mouseevent e) { System.out.println("P "); @Override public void mousereleased(mouseevent e) { System.out.println("R "); ); a) Jego kompilacja zakończy się błędem (błędnie dobrany słuchacz, powinien tu być ActionListener) b) Jego kompilacja zakończy się błędem (błędnie dobrany adapter) c) Po kompilacji i uruchomieniu kliknięcie na przycisk spowoduje pojawienie się na konsoli tekstu: C P R d) Po kompilacji i uruchomieniu kliknięcie na przycisk spowoduje pojawienie się na konsoli tekstu: P R C
22. Co można powiedzieć o poniższym kodzie? public static void main(string[] args) { enum E { A, B, C; System.out.println(E.A+E.B+E.B); a) Jego kompilacja i uruchomienie przebiegną poprawnie, na ekranie pojawi się: 2 b) Jego kompilacja i uruchomienie przebiegną poprawnie, na ekranie pojawi się: ABC c) Jego kompilacja zakończy się błędem (nie można umieszczać deklaracji typu wyliczeniowego wewnątrz metody) d) Jego kompilacja zakończy się błędem (operator + jest niezdefiniowany dla elementów typu wyliczeniowego)
23. Co można powiedzieć o poniższym kodzie? public static void main(string[] args) throws InterruptedException { Thread t1 = new Thread(new Runnable() { public void run() { while (true) { System.out.println("1"); ); t1.start(); Thread.sleep(100); t1.interrupt(); a) Jego kompilacja zakończy się błędem b) Jego kompilacja powiedzie się. Po uruchomieniu metody main na ekranie w nieskończoność będzie wypisywane 1 c) Jego kompilacja powiedzie się. Po uruchomieniu metody main na ekranie w nieskończoność będzie wypisywane 1, przeplecione gdzieś na początku komunikatem o wystąpieniu wyjątku d) Jego kompilacja powiedzie się. Po uruchomieniu metody main na ekranie pojawi się wypisane kilka razy 1 (bądź nie) oraz komunikat o wystąpieniu wyjątku, następnie program skończy działanie
24. Co można powiedzieć o poniższym kodzie? static int i=0; public static void main(string[] args) throws InterruptedException { Thread t1 = new Thread(()->{ while (i<1000) i++; ); Thread t2 = new Thread(()->{ t1.join(); ); t2.start(); t1.start(); a) Jego kompilacja zakończy się błędem b) Jego kompilacja powiedzie się. Wkrótce po uruchomieniu metody main program zakończy działanie c) Jego kompilacja powiedzie się. Po uruchomieniu metody main po jakimś czasie pojawi się komunikat o wystąpieniu wyjątku i program zakończy działanie. d) Jego kompilacja powiedzie się. Po uruchomieniu metody main program będzie działał w nieskończoność
25. Co można powiedzieć o poniższym kodzie? interface I{ static void m(){ // 1 public static void main(string[] args){ new B().m(); // 2 class B implements A.I{ public void m() { A.I.m(); // 3 a) Jego kompilacja i uruchomienie metody main powiedzie się b) Podczas kompilacji wystąpi błąd w linii 1 c) Podczas kompilacji wystąpi błąd w linii 2 d) Podczas kompilacji wystąpi błąd w linii 3
26. Co można powiedzieć o poniższym kodzie serwera echa (zakładając, że wszystkie importy zostały dokonane)? public static void main(string[] args) throws IOException { ServerSocket s = new ServerSocket(2000); // 1 Socket sa = s.accept(); Scanner in = new Scanner(sa.getInputStream()); PrintWriter out = new PrintWriter(sa.getOutputStream(), true); do{ String line = in.nextline(); // 2 out.println(line); while (!line.equals("bye")); // 3 sa.close(); a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja zakończy się błędem w linii 3 d) Jest to poprawny kod serwera obsługującego na raz jedno połączenie, kończącego działanie po odesłaniu otrzymanego tekstu "BYE"
27. Co można powiedzieć o poniższym kodzie? package pakieta; { System.out.print("A "); package pakieta; public class B { public class B { private B() { System.out.print("A.B "); ; public static void main(string[] args) { B b = new A().new B(); // 1 a) Jego kompilacja zakończy się błędem w linii 1 (wywołanie prywatnego konstruktora klasy wewnętrznej) b) Jego kompilacja zakończy się błędem w linii 1 (powinien być wywołany konstruktor klasy zewnętrznej) c) Jego kompilacja i uruchomienie metody main powiedzie się, na ekranie pojawi się A.B A d) Jego kompilacja i uruchomienie metody main powiedzie się, na ekranie pojawi się A A.B
28. Co można powiedzieć o poniższym kodzie (przy założeniu, że uzupełniono właściwie miejsca...)?... interface I extends Remote { void m() throws RemoteException; static I i = () -> System.out.println("m()"); public static void main(string[] args) throws... { Registry r = LocateRegistry.createRegistry(2000); r.rebind("a", UnicastRemoteObject.exportObject(i, 0));... public class B { public static void main(string[] args) throws... { Registry r = LocateRegistry.getRegistry(2000); ((I) r.lookup("a")).m(); a) Po kompilacji i uruchomieniu klas A i B w osobnych konsolach, na konsoli klasy A wyświetli się napis A. b) Po kompilacji i uruchomieniu klas A i B w osobnych konsolach, na konsoli klasy B wyświetli się napis A. c) Po kompilacji i uruchomieniu klas A i B w osobnych konsolach, na konsoli klasy B wyświetli się komunikat o wyjątku java.io.notserializableexception d) Podczas kompilacji wystąpi błąd
29. Co będzie wynikiem wykonania poniższego kodu? URL obj = new URL("http://www.pwr.edu.pl/index.dhtml"); System.out.print(obj.getHost()); a) pwr.edu.pl b) 156.17.193.247 c) www.pwr.edu.pl d) http://www.pwr.edu.pl/index.dhtml
30. Co można powiedzieć o poniższym fragmencie kodu (przy założeniu, że wszystkie konieczne importy zostały wykonane)? String ftpurl = "ftp://user:password@server.com/projekty/plik.zip"; try { URL url = new URL(ftpUrl); // 1 URLConnection conn = url.openconnection(); // 2 InputStream inputstream = conn.getinputstream(); catch (IOException ex) { ex.printstacktrace(); a) kod ten skompiluje się i wykona poprawnie b) kod ten skompiluje się poprawnie, ale podczas próby jego wykonania wystąpi błąd (nieobsługiwany protokół FTP) c) podczas jego kompilacji wystąpi błąd w linii 1 d) podczas jego kompilacji wystąpi błąd w linii 2