Define una clase que en uno de sus métodos devuelva la misma clase mutada (cambiada). Por ejemplo, considere la clase Persona con dos variables: sexo (enum {h,m}) y edad. A continuación, desarrolle el método: mutar que devuelva a la persona con 10 año menos y de sexo cambiado.
package certification1;
public class persona {
private int age;
private sex sexo;
public enum sex{H,M};
public persona(int age, sex sexo){
this.age = age;
this.sexo = sexo;
}
public persona mutar(){
persona tmp = new persona(age,sexo);
if (tmp.age > 10) {
tmp.age -= 10;
if(tmp.sexo == persona.sex.H){
tmp.sexo = persona.sex.M;
}else{
tmp.sexo = persona.sex.H;
}
}else{
System.out.println("No aplica cambio de edad ni sexo");
}
return tmp;
}
public void print(){
System.out.println("Edad: " + age + " - sexo: " + sexo);
}
}
package certification1;
public class Certification1 {
public static void main(String[] args) {
try{
persona p1 = new persona(10,persona.sex.H);
persona p2 = p1.mutar();
p1.print();
p2.print();
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
}
No comments:
Post a Comment