Skuska 1. 2. 2017

Předmět zaměřený na praktické programování v jazyku a prostředí Java
Jankus

Skuska 1. 2. 2017

Příspěvek od Jankus »

Ahoj,
na dnesnej skuske boli zase nove nejake otazky. Inac vsetko ako obvykle, 45 minut, 8 kruzkovacich otazok, aspon jedna odpoved je spravna a za kazde nespravne (ne)zakruzkovanie je chybny bod. 2 dalsie otazky na pisanie kodu, kazda za max. 3 chybne body. 0-2 jednicka, 3-5 dvojka, 6-8 trojka, 9 a viac...
Uspesnost bohuzial neviem, ale iste vacsia nez minule...

( 1 ) CO NEPOJDE PRELOZIT?
A. int i = 1234_5678;
B. double d = 3.14_15;
C. int j = 0x12_ab_12;
D. int k = null;
E. boolean b = 0;
F. char c = '
';

( 2 ) CO PLATI O VZTAHU TRIED A INTERFACOV?
A. trieda moze implementovat ziadny alebo maximalne jeden interface
B. trieda moze implementovat ziadny alebo lubovolne vela interfacov
C. interface moze dedit od lubovolne vela inych interfacov
D. interface moze dedit od maximalne jedneho interfacu
E. interface nikdy nemoze dedit od ineho interfacu

( 3 )

Kód: Vybrat vše

public class MyClass {
/* modifier */ void foo() {}
}
CO MOZE BYT MIESTO "modifier", ABY SA KOD DAL PRELOZIT?
A. public
B. final
C. static
D. friendly
E. volatile
F. override

( 4 )

Kód: Vybrat vše

class MyException extends java.lang.Exception {}
public class A {
    public void foo( int i) throws MyException {
        if ( i < 0 )
            throw new /* type of exception */();
    }
}
CO MOZE BYT MIESTO "type of exception", ABY SA KOD DAL PRELOZIT?
A. MyException
B. java.lang.Exception
C. java.lang.Error
D. java.lang.RuntimeException
E. java.lang.Throwable
F. java.io.IOException

( 5 ) KTORE SU KLUCOVE SLOVA? (mozno tam bolo "nie su", ale to je snad jedno, kedtak sa vezme doplnok)
A. throw
B. throws
C. class
D. array
E. namespace
F. method

( 6 )

Kód: Vybrat vše

1  /* ulozene v subore A.java */
2  public interface A {
3      void foo( int i);
4      default void bar() {
5          foo( 0);
6      }
7  }
8 
9  /* ulozene v subore B.java */
10 public class B implements A {
11     public void foo( int i) {
12         System.out.println( i);
13     }
14     public void bar() {
15         System.out.println( "Hello");
16     }
17 }
KTORE TVRDENIA SU PRAVDIVE?
A. interface A aj triedu B prelozi prekladac uplne bez chyb
B. A nepojde prelozit, chyba je na riadku 5 - z defaultnej metody sa nedo volat ne-defaultna (a kedze nepojde prelozit A, nepojde ani B)
C. A prelozi prekladac bez chyby, ale triedu B nie, chyba je na riadku 14 - defaultne metody sa nedaju predefinovat
D. A prelozi prekladac bez chyby, ale triedu B nie, chyba je na riadku 14 - chyba klucove slovo default

( 7 ) MAME KOLEKCIU ArrayList<T>. KTORE PRIRADENIE SA PRELOZI BEZ CHYBY?
A. Collection<Object> co = new ArrayList<Object>();
B. Collection<Object> co = new ArrayList<String>();
C. Collection<String> co = new ArrayList<Object>();
D. Collection<Object> co = new ArrayList<>();
E. Collection<?> co = new ArrayList<Object>();

( 8 )

Kód: Vybrat vše

synchronized (s) {
    /* ... */
}
KTORA DEFINICIA "s" JE MOZNA, ABY SA KOD DAL PRELOZIT?
A. synchronized sa neda pouzit tymto sposobom
B. Thread s = new Thread();
C. Object s = new Object();
D. String s = "Hello";
E. int s = 100;
F. Runnable s = () -> {};

( 9 ) METODA static <T> void sort( T[] array, Comparator<T> c) ZOTRIEDI POLE array A PRE POROVNAVANIE POUZIJE DANY KOMPARATOR. TEN JE DEFINOVNY TAKTO:

Kód: Vybrat vše

interface Comparator<T> {
    int compare( T o1, T o2);
}
DOPLNTE DO NASLEDUJUCEHO VOLANIA IMPLEMENTACIU KOMPARATORU POMOCOU LAMBDA VYRAZU TAK, ABY BOLO POLE ZOTRIEENE PODLA DLZKY RETAZCA:

Kód: Vybrat vše

String[] strings = new String[1000];
/* dajaky kod */
sort( strings,
( 10 ) TENTO KOD KOPIRUJE JEDEN SUBOR DO DRUHEHO. POMOCOU try/catch/finally OPRAVTE KOD, ABY BOL KOREKTNY A ABY BOLI OSETRENY VSETKY MOZNE VYSKYTY VYNIMIEK (PRIPOMNUTIE: VSETKY OPERACIE SO SUBORMI MOZU VYDZOVAT IOException)

Kód: Vybrat vše

FileInputStream fis = new FileInputStrea( inFile);
FileOutputStream fos = new FileOutputStrea( outFile);
int c;
while ( ( c = fis.read() ) != -1 ) {
    fos.write( c);
}
fos.close();
fis.close();
Jankus

Re: Skuska 1. 2. 2017

Příspěvek od Jankus »

1) A B C F (podtrzitka nevadia, 0x je hexadecimalne cislo, do boolu ale nejde priradit cislo, len true/false, do intu len cislo, nie null)
2) B C
3) A B C (volatile je len pre atributy)
4) A C D (error a runtime mozu byt vyhodene, aj ked nie su deklarovane)
5) A B C
6) A
7) A D E
8 ) B C D F (je mozny akykolvek objekt)
9)

Kód: Vybrat vše

sort( strings, ( String s1, String s2) -> {
        return s1.length - s2.length
    });
alebo jednoduchsie

Kód: Vybrat vše

sort( strings, (s1, s2) -> s1.length - s2.length);
10)

Kód: Vybrat vše

try ( FileInputStream fis = new FileInputStrea( inFile), FileOutputStream fos = new FileOutputStrea( outFile) ) {
    int c;
    while ( ( c = fis.read() ) != -1 ) {
        fos.write( c);
    }
} catch ( IOException ex ) {
    /* ... */
}
nemusi sa zatvarat vo finally, rozsireny try to urobi automaticky. dalo by sa to spravit aj so starym try, ale bolo by to zlozitejsie, lebo aj closy vo finally by mohli vyhodit vynimku, takze by trebalo novy try a okrem toho by niekde este bolo treba kontrolovat null pointre.
Odpovědět

Zpět na „PGR013 Java“