public class Piste { private static int lkm=0; private int x=0, y=0; private final int minä; public Piste(int x, int y) { this.x = x; this.y = y; ++lkm; minä=lkm; } public int kuka() {return minä;} public void aseta(int x, int y) { this.x = x; this.y = y; } public String toString() { return "("+ kuka() + ")(" + x+"," + y + ")"; } }Ohjelmoi tälle luokalle aliluokka VarillinenPiste, joka on kuin piste täydennettynä väriä esittävällä double-arvolla. VarillinenPiste-ilmentymiä luodaan konstruktoreilla:
Ohjelmoi luokkaan VarillinenPiste vain ja ainoastaan tarpeelliset osat. Luokkaa Piste ei saa muuttaa.
(17 pistettä)
(18 pistettä)
"Sana" tarkoittaa tässä tehtävässä mitä tahansa merkkien jonoa, joka ei sisällä välilyöntiä tai rivinvaihtoa. "Aakkosjärjestykseksi" kelpuutetaan tässä tehtävässä String-luokan compareTo-aksessorin määrittelemä järjestys.
Vihjeitä: Ratkaisussa saa (mutta ei ole pakko!) kayttää luokkaa Vector<E>. Jos et käytä Vector-oliota, voit olettaa, ettei erilaisia sanoja ole enempää kuin 10000. Jos käytät Vectoria, seuraavasta Vector<E>-luokan API-kuvauksen osasta voi olla hyötyä:
(17 pistettä)