public class TasonPiste { private static int lkm=0; // luotujen pisteiden laskuri private final int minä; // pisteen yksilöllisyys private double x, y; // koordinaatit public TasonPiste(double x, double y) { this.x = x; this.y = y; ++lkm; minä=lkm; } public int kuka() {return minä;} public void aseta(double x, double y) { this.x = x; this.y = y; } public String toString() { return "("+ minä + ")(" + x+"," + y + ")"; } }Ohjelmoi tälle luokalle aliluokka AvaruudenPiste, joka täydentää tason pistettä kolmannen ulottuvuuden koordinaatilla z (double-arvo sekin). AvaruudenPiste-ilmentymiä luodaan konstruktoreilla:
Ohjelmoi luokkaan AvaruudenPiste vain tarpeelliset osat. Luokkaa TasonPiste 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ä)