Haz una clase llamada Persona que siga las siguientes condiciones:
  • Sus atributos son: nombre, edad, DNI, sexo (H hombre, M mujer), peso y altura. No queremos que se accedan directamente a ellos. Piensa que modificador de acceso es el más adecuado, también su tipo. Si quieres añadir algún atributo puedes hacerlo.
  • Por defecto, todos los atributos menos el DNI serán valores por defecto según su tipo (0 números, cadena vacía para String, etc.). Sexo sera hombre por defecto, usa una constante para ello.
  • Se implantaran varios constructores:
    • Un constructor por defecto.
    • Un constructor con el nombre, edad y sexo, el resto por defecto.
    • Un constructor con todos los atributos como parámetro.
  • Los métodos que se implementaran son:
    • calcularIMC(): calculara si la persona esta en su peso ideal (peso en kg/(altura^2  en m)), devuelve un -1 si esta por debajo de su peso ideal, un 0 si esta en su peso ideal y un 1 si tiene sobrepeso .Te recomiendo que uses constantes para devolver estos valores.
    • esMayorDeEdad(): indica si es mayor de edad, devuelve un booleano.
    • comprobarSexo(char sexo): comprueba que el sexo introducido es correcto. Si no es correcto, sera H. No sera visible al exterior.
    • toString(): devuelve toda la información del objeto.
    • generaDNI(): genera un numero aleatorio de 8 cifras, genera a partir de este su número su letra correspondiente. Este método sera invocado cuando se construya el objeto. Puedes dividir el método para que te sea más fácil. No será visible al exterior.
    • Métodos set de cada parámetro, excepto de DNI.
Ahora, crea una clase ejecutable que haga lo siguiente:
  • Pide por teclado el nombre, la edad, sexo, peso y altura.
  • Crea 3 objetos de la clase anterior, el primer objeto obtendrá las anteriores variables pedidas por teclado, el segundo objeto obtendrá todos los anteriores menos el peso y la altura y el último por defecto, para este último utiliza los métodos set para darle a los atributos un valor.
  • Para cada objeto, deberá comprobar si esta en su peso ideal, tiene sobrepeso o por debajo de su peso ideal con un mensaje.
  • Indicar para cada objeto si es mayor de edad.
  • Por último, mostrar la información de cada objeto. 
Si quieres el codigo puedes descargarlo en el siguiente link:

Descarga Proyecto IMC

     codigo proyecto L.G.R:
    https://i.gyazo.com/89b586056c20ff56dee957ca837d49d4.png
      https://i.gyazo.com/c14acc94724a30e498189729a4d73d17.png

      codigo clase:

      https://i.gyazo.com/43b41b72a98ef7ddb88b4fbc7767ca6a.png

      https://i.gyazo.com/8c124a18d47bf0f847d2b48c73353ea7.png
      https://i.gyazo.com/b076f0ac77ce362d1354c81cc8a4d66e.png