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ä)