public class Tossuelain extends Alkuelain{ private char sukupuoli; public Tossuelain(){ //luo tohvelieläimen, jolle arvotaan perimä. this.YKSILOLLISYYS = otuslaskuri; ++Alkuelain.otuslaskuri; this.perima = new char[ perimanKoko]; for (int i=0; i < this.perima.length; ++i){ this.perima[i] = perusemas[(int) Math.random()*4]; } } public Tossuelain(char[] perima){ //luo alkueläimen annetulla perimällä. Määrittele mitä tehdään, jos perimä ei ole kelvollinen. this.YKSILOLLISYYS = otuslaskuri; ++Alkuelain.otuslaskuri; //this.perima = new char[ perimanKoko]; for (int i=0; i < perima.length; ++i){ if (this.perima[i] != 'A' || this.perima[i] != 'C' || this.perima[i] != 'G' || this.perima[i] != 'T') this.perima[i] = perusemas[(int) Math.random()*4]; } } public Tossuelain pariudu(Tossuelain toinen) { //palauttaa arvonaan joko jälkeläisen tai arvon null. /* if (this.sukupuoli = 'A' && toinen.sukupuoli = 'G') lapsi = 'A'; * if (this.sukupuoli = 'A' && toinen.sukupuoli = 'T') lapsi = 'C'; * if (this.sukupuoli = 'C' && toinen.sukupuoli = 'G') lapsi = 'G'; * if (this.sukupuoli = 'C' && toinen.sukupuoli = 'T') lapsi = 'T'; */ } public char vaihdaNukleotidi(int indeksi, char uusi) { //vaihtaa tossueläimen yhden nukleotidin toiseksi kohdasta indeksi. Arvonaan metodi palauttaa vanhan, korvatun nukleotidin. Määrittele, mitä tehdään, jos parametrit ovat virheellisiä. //if int indeksi == 30 ...muuttaa sukupuolinukleotidiä. //pitää kopioida alkuperäinen perimä ja muuttaa tietyssä kohdassa olevaa nukleotidiä ja antaa muutettu taulukko parametrinä Tohvelielain(char []):iin } public String toString() { //muodostaa selkeän merkkiesityksen tossueläimestä. return "Tohvelieläin "+this.YKSILOLLISYYS+".: "+this.perimalista+this.sukupuoli; // A- ja C-tossut naaraita, G- ja T-tossut koiraita } }