Eeltest
Selle testiga üritame diagnoosida sinu oskust defineerida omad klassid vastavalt nende kasutamise spetsifikatsioonile. Me toome näited, kuidas peaks saama klassi kasutama, aga sinu ülesandeks jääb defineerida nõuetele vastav klass.
1. Ping-pong
Defineeri ja esita klass pretest.PingPong
, mida saaks kasutada nii:
import pretest.PingPong; public class PingPongDemo { public static void main(String[] args) { PingPong.playPingPong(10, 16); } }
PingPong.playPingPong
võtab kaks täisarvulist argumenti, mis tähistavad vahemikku ja väljastab eraldi ridadele arvud sellest vahemikust. Erandiks on 3- ja 5-ga jaguvad arvud:
- kui arv jagub 3- ja 5-ga, siis tuleb arvu asemel väljastada
PingPong
; - kui arv jagub 3-ga, siis tuleb arvu asemel väljastada
Ping
; - kui arv jagub 5-ga, siis tuleb arvu asemel väljastada
Pong
.
Antud näiteprogrammi käivitamisel peab ekraanile ilmuma:
Pong 11 Ping 13 14 PingPong 16
Esitamine: https://moodle.ut.ee/mod/vpl/view.php?id=227948
2. Tervitamine
Defineeri ja esita klass pretest.Person
, mida saaks kasutada sedasi:
import java.util.ArrayList; import java.util.List; import pretest.Person; public class PersonDemo { public static void main(String[] args) { List<Person> inimesed = new ArrayList<>(); inimesed.add(new Person("Juhan")); inimesed.add(new Person("Maris")); inimesed.add(new Person("Hannes")); inimesed.add(new Person("Teele")); inimesed.add(new Person("Peeter")); inimesed.get(2).printGreetings(); } }
inimene.printGreetings()
peab tervitama kõik ülejäänud inimesi nende loomise järjekorras. Võib eeldada, et kõik inimesed luuakse erinevate nimedega.
Antud näiteprogrammi käivitamisel peab ekraanile ilmuma
Tere, Juhan! Tere, Maris! Tere, Teele! Tere, Peeter!
Esitamine: https://moodle.ut.ee/mod/vpl/view.php?id=227947
3. Puu
Defineeri ja esita klass pretest.Tree
, mida saaks kasutada nii:
import java.util.Arrays; import java.util.List; import pretest.Tree; public class TreeDemo { public static void main(String[] args) { Tree tree1 = Tree.node(Tree.leaf(3), Tree.node(Tree.leaf(7), Tree.leaf(2))); System.out.println(tree1.toList()); // Proovime nüüd listist moodustada puu List<Integer> list = Arrays.asList(8, 19, 20, 200, 120, 9, 10); Tree tree2 = Tree.fromList(list); // Moodustatud puu peab saama tasandada samaks listiks: System.out.println(tree2.toList()); // Boonus: Puude kõrgus võiks ka olla võimalikult madal. System.out.println(tree1.height()); System.out.println(tree2.height()); } }
Antud näiteprogrammi käivitamisel peab ekraanile ilmuma
[3, 7, 2] [8, 19, 20, 200, 120, 9, 10] 2 3