package POO.Clase2;

import java.util.Scanner;

public class main 
{

    public static void main(String[] args) 
    {
        //Utilizado 1er Constructor.
        Persona persona1 = new Persona();
        //Utilizando 2ª Constructor
        Persona Alberto = new Persona("Alberto", 18,'H');
        //Utilizando 3ER constructor.
        Persona Paula = new Persona("Paula", 20, 'M', 120, 1.55, "12345678J");
        persona1.setAltura(1.5);
        persona1.setPeso(50);
        Alberto.setPeso(20);
        Alberto.setAltura(1.9);
        
        //Persona 1
        if (persona1.calcularIMC() == Persona.BAJO_PESO){
            System.out.println("Persona1 tiene un bajo peso");
        }
        else if (persona1.calcularIMC() == Persona.SOBREPESO)
        {
            System.out.println("Persona1 tiene un sobrepeso. ");
        }else{
            System.out.println("Persona1 tiene un peso ideal. ");
        }
        
        //Alberto IMC
        if (Alberto.calcularIMC() == Persona.BAJO_PESO)
        {
            System.out.println(Alberto.getNombre()+" tiene un bajo peso. ");
        }
        else if (Alberto.calcularIMC() == Persona.SOBREPESO)
        {
            System.out.println(Alberto.getNombre() + "tiene un sobrepeso. ");
        }
        else
        {
            System.out.println(Alberto.getNombre() + "tiene un peso ideal. ");
        }
        
        //Paula IMC
        if (Paula.calcularIMC() == Persona.BAJO_PESO)
        {
            System.out.println(Paula.getNombre() + " tiene un bajo peso. ");
        }
        else if (Paula.calcularIMC() == Persona.SOBREPESO)
        {
            System.out.println(Paula.getNombre() + " tiene un sobrepeso. ");
        }
        else
        {
            System.out.println(Paula.getNombre() + " tiene un peso ideal. ");
        }
        
        //Comprueba de cada objeto si es mayor de edad.
        //if (persona1.esMayorDeEdad()){
        if (persona1.getEdad()>=18)
        {
            System.out.println("Es mayor de la edad. ");
        }
        else
        {
            System.out.println("Es menor de la edad. ");
        }
        
        // Comprobar si Alberto es mayor o no
        if (Alberto.getEdad() >= 18)
        {
            System.out.println("Es mayor de la edad");
        }
        else
        {
            System.out.println("Es menor de la edad. ");
        }
        
        // Comprobar si Paula es mayor o no
        if (Paula.esMayorDeEdad())
        {
            System.out.println("Es mayor de la edad. ");
        }
        else
        {
            System.out.println("Es menor de la edad. ");
        }
        
        /*System.out.println(persona1.toString());
        System.out.println(Alberto.toString());
        System.out.println(Paula.toString());*/
        
        System.out.println(persona1);
        System.out.println(Alberto);
        System.out.println(Paula);
        
        //Generar DNI + Aprovecharlo.
        persona1.generaDNI();
        System.out.println(persona1.getDNI());
        Alberto.generaDNI();
        System.out.println(Alberto.getDNI());
        Paula.generaDNI();
        System.out.println(Paula.getDNI());
        
        //Ejercicio Planteado:
        
        //Crea 4 objetos y usa todos sus métodos para comprobar el entendimiento de como se utiliza la clase Persona en el MAIN.
        
         //1. Crear objetos de tipo persona.
        Persona personaN1 = new Persona();
        Persona personaN2 = new Persona("Alejandro", 20, 'H');
        Persona personaN3 = new Persona("Lidia", 33, 'M');
        Persona personaN4 = new Persona("Lucas", 15, 'H', 70, 1.70, "987654321J");
        
        System.out.println("IMC [1 - Sobrepeso | 0 - Normal | -1 - Muy delgado] " + personaN4.calcularIMC()); 
        System.out.println("¿Es mayor de edad? "+personaN4.esMayorDeEdad());
  
        System.out.println("¿Tan alto es?" + personaN3.getAltura());
        System.out.println("Como se llama esta mujer: " + personaN3.getNombre());
        System.out.println("¿Cuánto pesas? "+personaN4.getPeso());
        System.out.println("Me permites ver tu DNI: " + personaN4.getDNI());
        System.out.println("Cual es tu sexo?: " + personaN4.getSexo());
        
        //TODOS LOS SET USANDO SCANNER
        //Rellenar los datos, ¿Cómo se llama la persona?
        Scanner scanner = new Scanner(System.in);
        System.out.println("Introduzca un nombre, por favor: ");
        
        
        personaN1.setNombre(scanner.next());
        System.out.println("Introduzca la edad, por favor: ");
        personaN1.setEdad(scanner.nextInt());
        System.out.println("Introduzca el peso: "); 
        personaN1.setPeso(scanner.nextDouble());
        System.out.println("Se genera automáticamente el DNI");
        personaN1.generaDNI();
        System.out.println("Introduzca la altura: ");
        personaN1.setAltura(scanner.nextDouble());
        System.out.println("Introduzca el sexo: ");
        personaN1.setSexo(
                personaN1.comprobarSexo(
                        scanner.next().charAt(0)));
        System.out.println("Categoría de edad:  "+persona1.CategoriaEdad());
        
        System.out.println(personaN1);
        
       
    }
}