public static void tulostaVasen(arvo, int kentänLeveys) public static void tuostalOikea(arvo, int kentänLeveys)tulostavat arvon kenttään jonka leveys on kentänLeveys. Parametri arvo voi olla int, String, char- tai boolean. Metodeista ensimmäinen tulostaa arvon kentän vasempaan laitaan, jälkimmäinen oikeaan. Metodit eivät vaihda riviä! Jos arvo on kenttää leveämpi, kenttää laajennetaan, arvoa ei katkaista (Tämä on turvallisempaa kuin katkaisu! Miksi?)
Havainnollista metodien käyttöä pääohjelmalla.
Luokan Kokonaislukujoukko määrittely alkakoon seuraavasti:
public class Kokonaislukujoukko { public final static int KAPASITEETTI=10, // Vertaa tehtävään 6 & 7! OLETUSKASVATUS =10; // Kerralla otettavan lisätilan oletusmäärä. private int kasvatuskoko; // Kerralla otettavan lisätilan määrä. private int[] taulukko; // Joukon luvut säilytetään taulukon alkupäässä. private int alkioiden_määrä; // Tyhjässä joukossa alkioiden_määrä on nolla. public Kokonaislukujoukko() { taulukko = new int[KAPASITEETTI]; kasvatuskoko = OLETUSKASVATUS; alkioiden_määrä = 0; } public Kokonaislukujoukko(int kapasiteetti) { // Annetaan oma kapasiteetti. // Muista tarkistaa parametrin kelvollisuus! // ... } public Kokonaislukujoukko(int kapasiteetti, int kasvatuskoko) { // Annetaan oma kapasiteetti ja kasvatuskoko. // Muista tarkistaa parametrien kelvollisuus! // ... } // ...Ohjelmoi luokkaan ainakin aksessorit
Suunnittele aksessorien toiminta myös mahdollisessa virhetilanteessa. Päätä itse kolmen ensiksi luetellun aksessorin mahdollisen palautusarvon tyyppi, so. void, boolean, int, ...
Käyttöesimerkki: ("Testipääohjelma" täydennettynä; kokeile Kokonaislukujoukko-toteutustasi tällä!)
... Kokonaislukujoukko x = new Kokonaislukujoukko(); System.out.println("Joukko on: " +x); // {} x.lisää(57); x.lisää(-32); x.lisää(12); System.out.println("Joukko on: " +x); // {57, -32, 12} x.lisää(57); // on jo, ei lisätä! System.out.println("Joukko on: " +x); // {57, -32, 12} x.lisää(60); System.out.println("Joukko on: " +x); // {57, -32, 12, 60} System.out.println("Joukon koko on " + x.koko()); // 4 int[] taulukkona = x.toIntArray(); for (int alkio: taulukkona) System.out.print(alkio + ", "); System.out.println(); // 57, -32, 12, 60, if (x.kuuluu(12)) System.out.println("12 kuuluu joukkoon"); // tämä! else System.out.println("12 ei kuulu joukkoon"); x.poista(12); System.out.println("Joukko on: " +x); // {57, -32, 60} if (x.kuuluu(12)) System.out.println("12 kuuluu joukkoon"); else System.out.println("12 ei kuulu joukkoon"); // tämä! x.poista(48); System.out.println("Joukko on: " +x); // {57, -32, 60} x.poista(60); // {57, -32} x.poista(57); // {-32} x.poista(-32); // {} x.poista(23); // {}Vihjeitä ja ajatuksia:
Käyttöesimerkkejä: Kokonaislukujoukko a, b, c, d, e; a = new Kokonaislukujoukko(); b = new Kokonaislukujoukko(); // .... a:han ja b:hen viedään kaikenlaisia lukuja c = yhdiste(a, b); d = leikkaus(a, b); e = erotus(a, b); a = yhdiste(d, leikkaus(b, c)); // ...
Käyttöesimerkkejä: Kokonaislukujoukko a, b, c, d, e; a = new Kokonaislukujoukko(); b = new Kokonaislukujoukko(); // .... a:han ja b:hen viedään kaikenlaisia lukuja c = a.yhdiste(b); d = a.leikkaus(b); e = a.erotus(b); a = d.yhdiste(b.leikkaus(c)); // ...