public class Alkuelain { private static int otuslaskuri = 0; private final int YKSILOLLISYYS; private char[] perusemas = {'A','C','G','T'}; private static final int perimanKoko = 30; public Alkuelain(){ //luo alkueläimen, jolle arvotaan perimä. this.YKSILOLLISYYS = otuslaskuri; ++Alkuelain.otuslaskuri; char[] perima = new char[ perimanKoko]; for (int i=0; i < perima.length; ++i) perima[i] = perusemas[(int) Math.random()*4]; } public Alkuelain(char[] perima){ //luo alkueläimen annetulla perimällä. Määrittele mitä tehdään, jos perimä ei ole kelvollinen. //char[] toCharArray() } public void mutaatio(){ //aikaansaa aidon mutaation alkueläimen perimään, so. jokin arvottu nukleotidi muuttuu arvotulla tavalla. } public Alkuelain jakaudu(){ //palauttaa arvonaan jakautumalla syntyneen alkueläimen. Huomaa että myös perimätaulukon sisältö on kopioitava! Miksi? } public Alkuelain pariudu(Alkuelain toinen){ //tuottaa this-alkueläimen ja parametrina annetun alkueläimen jälkeläisen. } public String toString(){ //tuottaa merkkiesityksen alkueläimestä } }