Sunday, July 30, 2017

Class Problema 8

Clases Problema 8 (Java)
Problema

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.

Solución

Clase Persona

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);
    }
}
Método main

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

Earn free bitcoin