All pastes #799173 Raw Edit

Something

public text v1 · immutable
#799173 ·published 2007-11-27 11:19 UTC
rendered paste body

public class Tossuelain extends Alkuelain{
	private char sukupuoli;
	private String spuoli;
	
	public Tossuelain(){ //luo tohvelieläimen, jolle arvotaan perimä.
		super();
		this.sukupuoli = perusemas[(int) Math.random()*4];
	}
	public Tossuelain(char[] perimaAnnettu){ //luo tohvelieläimen annetulla perimällä. Ottaa sisäänsä 31-alkioisen taulukon ja määrää siitä viimeisen alkion sukupuoleksi.
		super(perimaAnnettu);
		this.sukupuoli = perimaAnnettu[perimaAnnettu.length-1];
	}
			
	public Tossuelain pariudu(Tossuelain toinen) {  //palauttaa arvonaan joko jälkeläisen tai arvon null.
		if (((this.sukupuoli == 'A') && (toinen.sukupuoli == 'G' || toinen.sukupuoli == 'T')) || ((this.sukupuoli == 'C') && (toinen.sukupuoli == 'G' || toinen.sukupuoli == 'T')) ||((this.sukupuoli == 'G') && (toinen.sukupuoli == 'C' || toinen.sukupuoli == 'A')) ||((this.sukupuoli == 'T') && (toinen.sukupuoli == 'C' || toinen.sukupuoli == 'A'))){
			char[] parit = new char[ perimanKoko];
			for (int i=0; i < parit.length; ++i){
				if (Math.random()<0.5)
					parit[i] = toinen.perima[i];
				else
					parit[i] = this.perima[i];
			}
			if (this.sukupuoli == 'A') {
				if (toinen.sukupuoli == 'G')
					parit[parit.length-1] = 'A';
					else if (toinen.sukupuoli == 'T') 
						parit[parit.length-1] = 'C';
			}
			if (this.sukupuoli == 'C') {
				if (toinen.sukupuoli == 'G')
					parit[parit.length-1] = 'G';
					else if (toinen.sukupuoli == 'T') 
						parit[parit.length-1] = 'T';
			}
			if (this.sukupuoli == 'T') {
				if (toinen.sukupuoli == 'A')
					parit[parit.length-1] = 'C';
					else if (toinen.sukupuoli == 'C') 
						parit[parit.length-1] = 'T';
			}
			if (this.sukupuoli == 'G') {
				if (toinen.sukupuoli == 'C')
					parit[parit.length-1] = 'G';
					else if (toinen.sukupuoli == 'A') 
						parit[parit.length-1] = 'A';
			}
			return new Tossuelain(parit);
		}
		else
			return null;
			
		
    }
    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 (indeksi > this.perima.length) //pidetään indeksi sallituissa rajoissa
    		indeksi = this.perima.length;
    		else if (indeksi < 0)
    			indeksi = 0;
    	if (uusi != 'A' || uusi != 'C' || uusi != 'G' || uusi !='T') uusi = perusemas[(int) Math.random()*4];
    	if (indeksi == this.perima.length){//if int indeksi == 30 ...muuttaa sukupuolinukleotidiä.
    		//char vanha = this.sukupuoli; toimiiko?
    		this.sukupuoli = uusi;}
    		else{ 
    			//char vanha = this.perima[indeksi];
    			this.perima[indeksi] = uusi;}
    	return 'A'; //vanha; pitäisi keksiä miten saisi järkevästi palautettua vanhan arvon 
    }
    public String toString() { //muodostaa selkeän merkkiesityksen tossueläimestä. 
    	if ((this.sukupuoli == 'A') || (this.sukupuoli == 'C')) // A- ja C-tossut naaraita, G- ja T-tossut koiraita
    		spuoli = "naaras";
    	else if ((this.sukupuoli == 'G') || (this.sukupuoli == 'T'))
    		spuoli = "koiras";
    	return "Tohvelieläin "+this.YKSILOLLISYYS+".: "+this.perimalista+this.sukupuoli+" "+this.spuoli;
    }
	


public static void main(String[] args) {
	char[]testi = {'G','A','T','T','A','C','A','G','A','T','T','A','C','A','G','A','T','T','A','C','A','G','A','T','T','A','C','A','G','A','T'};
	char[]testi2 = {'T','T','A','C','A','G','A','T','T','A','C','A','G','A','T','T','A','C','A','G','A','T','T','A','C','A','G','A','T','T','A'};
	
	Tossuelain tossu1 = new Tossuelain();
	System.out.println(tossu1);
	
	Tossuelain tossu2 = new Tossuelain();
	System.out.println(tossu2);
	
	Tossuelain tossu3 = new Tossuelain(testi);
	System.out.println(tossu3);
	
	Tossuelain tossu4 = new Tossuelain(testi2);
	System.out.println(tossu4);
	
	Tossuelain tossu5 = tossu1.pariudu(tossu2);
	System.out.println(tossu5);
	
	Tossuelain tossu6 = tossu4.pariudu(tossu5);
	System.out.println(tossu6);
	
	tossu2.vaihdaNukleotidi(0, 'A');
	System.out.println(tossu2);
	}
}