/** * */ package dyna; /** * Esimerkki dynaamisesta taulukosta * @author vesal * @version 1.3.2011 */ public class Taulukko { /** * Luokka taulukon... * @author vesal * @version 1.3.2011 */ public class TaulukkoTaysiException extends Exception { /** */ private static final long serialVersionUID = 1L; TaulukkoTaysiException(String viesti) { super(viesti); } } private int[] alkiot; private int lkm; /** * Alustaa tyhjän taulukon */ public Taulukko() { alkiot = new int[5]; lkm = 0; } /** * Lisätään uusi alkio * @param luku lisättävän alkion arvo * TODO: mitä jos ei mahu? * @throws TaulukkoTaysiException jos taulukko tulee liian täyteen */ public void lisaa(int luku) throws TaulukkoTaysiException { if ( lkm >= alkiot.length ) throw new TaulukkoTaysiException("Ei mahu ennää"); alkiot[lkm] = luku; lkm++; } /** * Laitetaan paikkaa i uusi arvo * @param i paikka johon laitetaan * @param luku uusi arvo * TODO: jos indeksi huono?? */ public void set(int i, int luku) { alkiot[i] = luku; } /** * Palautetan paikassa i oleva arvo * @param i paikka josta otetaan * @return paikassa i oleva arvo * TODO: jos indeksi huono?? */ public int get(int i) { return alkiot[i]; } @Override public String toString() { StringBuilder tulos = new StringBuilder(); for (int i=0; i