Koho by to zajímalo - pár otázek ze dnešní zkoušky.
1. Jakým způsobem správně naalokovat dvourozměrné pole (2x2) typu int?
a) int[][] array = new int[2][2];
b) int array = new int[2][2];
c) int[] array = new int[2][2];
d) int[] array = new int[2x2];
2. Která slova
nejsou v Javě klíčová?
include, then, case, finally, sizeof
3. Napsat tělo metody multiply, která přijímá 2 parametry (String s, int n) a vrací String, který je n-násobnou kopií s.
4.
Kód: Vybrat vše
try {
boo();
} finally {
System.out.println("Konec");
}
Kdy program vypíše řetězec "Konec"?
a) vždy
b) jenom když metoda boo() vyhodí vyjímku
c) jenom když metoda boo() nevyhodí vyjímku
d) nikdy
5. Co vypíše následující program?
Kód: Vybrat vše
class A {
public void foo() {
System.out.println("foo");
}
}
class B extends A {
public void foo() {
System.out.println("bar");
}
}
public class OverloadTest {
public static void main(String[] args) {
A a = new A();
A b = new B();
a.foo();
b.foo();
}
}
Pozn.: Je to stejná otázka jako
v testu před týdnem, ale metody foo() nejsou v tomto případě statické, což je rozdíl
6.
Kód: Vybrat vše
class Book {
String author;
String title;
int yearOfIssue;
}
public class Main {
static Book[] find(Book[] books, int noOfBooks, String author, int yearOfIssue) {}
}
Napsat tělo metody find tak, aby vracela pole jenom s těmi knížkami, které napsal daný autor v daném roce. Parametr `noOfBooks` určuje kolik je knížek v poli `books`. Vrácené pole
nesmí obsahovat žádné položky navíc.
7.
Kód: Vybrat vše
public class X {
public void main(String[] args) {
X x = new X();
}
X() {
boolean b;
if (b) {
System.out.println("True.");
} else {
System.out.println("False.");
}
}
}
Pro daný kód platí:
1. Program nepůjde přeložit, překladač zahlásí neinicializovanou proměnnou b v konstruktoru.
2. Program vypíše "True."
3. Program vypíše "False."
4. Program nevypíše nic.
A ještě tři otázky, na které si už ale nevzpomenu...
Koho by to zajímalo - pár otázek ze dnešní zkoušky.
1. Jakým způsobem správně naalokovat dvourozměrné pole (2x2) typu int?
a) int[][] array = new int[2][2];
b) int array = new int[2][2];
c) int[] array = new int[2][2];
d) int[] array = new int[2x2];
2. Která slova [b]nejsou[/b] v Javě klíčová?
include, then, case, finally, sizeof
3. Napsat tělo metody multiply, která přijímá 2 parametry (String s, int n) a vrací String, který je n-násobnou kopií s.
4.
[code]try {
boo();
} finally {
System.out.println("Konec");
}[/code]
Kdy program vypíše řetězec "Konec"?
a) vždy
b) jenom když metoda boo() vyhodí vyjímku
c) jenom když metoda boo() nevyhodí vyjímku
d) nikdy
5. Co vypíše následující program?
[code]class A {
public void foo() {
System.out.println("foo");
}
}
class B extends A {
public void foo() {
System.out.println("bar");
}
}
public class OverloadTest {
public static void main(String[] args) {
A a = new A();
A b = new B();
a.foo();
b.foo();
}
}[/code]
Pozn.: Je to stejná otázka jako [url=http://forum.matfyz.info/viewtopic.php?f=163&t=3999]v testu před týdnem[/url], ale metody foo() nejsou v tomto případě statické, což je rozdíl :)
6.
[code]class Book {
String author;
String title;
int yearOfIssue;
}
public class Main {
static Book[] find(Book[] books, int noOfBooks, String author, int yearOfIssue) {}
}
[/code]
Napsat tělo metody find tak, aby vracela pole jenom s těmi knížkami, které napsal daný autor v daném roce. Parametr `noOfBooks` určuje kolik je knížek v poli `books`. Vrácené pole [b]nesmí[/b] obsahovat žádné položky navíc.
7.
[code]public class X {
public void main(String[] args) {
X x = new X();
}
X() {
boolean b;
if (b) {
System.out.println("True.");
} else {
System.out.println("False.");
}
}
}[/code]
Pro daný kód platí:
1. Program nepůjde přeložit, překladač zahlásí neinicializovanou proměnnou b v konstruktoru.
2. Program vypíše "True."
3. Program vypíše "False."
4. Program nevypíše nic.
A ještě tři otázky, na které si už ale nevzpomenu...