1   /**
2    * Luokka useiden kartalla olevien paikkojen koordinaattien tallettamiseen.
3    * @author Jukka Mäntylä
4    * @version 1.0, 16.03.2003
5    */
6   public class Kartta {
7     public class TaulukkoTaysiException extends Exception { }
8   
9     private Karttapaikka[] paikat;
10  
11    // Muodostaja
12    public Kartta(int alkiomaksimi) {
13      // Täydennä
14    }
15  
16    /**
17     * Lisää taulukkoon uudeen karttapaikan
18     * @param nimi - lisättävä paikan nimi
19     * @param c - paikan koordinaatit
20     * @throws TaulukkoTaysiException - jos taulukon maksimi ylitetään
21     */
22    public void lisaa(String nimi, Koordinaatti c) throws TaulukkoTaysiException {
23      // Täydennä
24    }
25  
26    /**
27     * Poistaa ensimmäisenä löytämänsä paikan kokonaisuudessaan
28     * @param nimi - poistettavan paikan nimi
29     */
30    public void poista(String nimi) {
31      // Täydennä
32    }
33  
34    /**
35     * Antaa ensimmäisenä löytämänsä paikan koordinaatit
36     * @param nimi - kartalla olevan paikan nimi
37     * @return paikan koordinaatit, null jos ei löydy
38     */
39    public Koordinaatti anna(String nimi) {
40      // Täydennä
41      return null;
42    }
43  
44    public static void main(String[] args) {
45      Kartta asuinalue = new Kartta(4); // asettaa paikkojen ja samalla
46                                        // koordinaattien maksimimääräksi 4
47      try {
48        Koordinaatti apuc;
49  
50        asuinalue.lisaa("Kabul", new Koordinaatti(34.3, 69.1));
51        asuinalue.lisaa("Hervanta", new Koordinaatti(61.45, 23.85));
52        asuinalue.lisaa("Honolulu", new Koordinaatti(21.19, -157.50));
53        asuinalue.lisaa("Melbourne", new Koordinaatti(-37.45, 144.58));
54  
55        asuinalue.poista("Honolulu");
56        apuc = asuinalue.anna("Melbourne");
57        System.out.println("Melbourne: " + apuc);
58        apuc = null;
59  
60        asuinalue.lisaa("Helsinki", new Koordinaatti(60.15, 24.93));
61        asuinalue.lisaa("Moisio", new Koordinaatti(62.43, 24.93));
62  
63      } catch (TaulukkoTaysiException e) {
64        System.err.println("Taulukko tuli täyteen..");
65      } catch (Exception e) {
66        System.err.println(e.getMessage());
67      }
68    }
69  }
70