ejercicio 1 java basic persona y empresa

Upload: kikemjunior

Post on 17-Feb-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 Ejercicio 1 Java Basic Persona y Empresa

    1/5

    EJERCICIO 1. PERSONA y EMPRESA

    Vamos a crear una clase Persona (Persona.java) dentro de un nuevo paquete llamado

    org.clases.ejercicio1. Las caractersticas de esta clase son las que se describen a continuacin:

    Una persona tiene un nombre, una edad, un DNI, un sexo(hombre o mujer), unpesoy

    una altura. Recordar que estos atributos no deben ser accesibles fuera de la clase

    (pista: visibilidad). El tipo de atributo para cada uno es libre, pero pensad cual es el

    ms adecuado.

    Generar tresconstructores: uno por defecto(sin parmetros); otro en que se le pasen

    por parmetro el nombre, la edad y el sexo; por ltimo, otro que reciba como

    parmetros el nombre, la edad, el sexo, el peso y la altura. Como podis observar,

    ninguno de los constructores recibe como parmetro el DNI, por lo que los tres

    constructores debern generar el DNI de forma aleatoria, y para cada nmero de DNI,

    incluirle su letra correspondiente (hay que crear el mtodo generarDni(), y ste, ser

    llamado en los constructores).

    Generar los mtodos Getters y Setterspara cada uno de los atributos, excepto para el

    DNI, que slo tendr el mtodo Get.

    Los mtodos a implementar son:

    o generarDni()Mtodo privado. Genera de forma aleatoria un nmero de DNI

    y su letra correspondiente. (Consejo: generar primeramente el nmero de dni

    de 8 dgitos y posteriormente, calcular la letra. Ms informacin:INFO DNI).

    o calcularIMC()Mtodo pblico. Calcular si la persona est en su peso ideal

    ( =

    ( )2, atendiendo a la informacin descrita en la pginaINFO

    IMC. El mtodo deber devolver -1 si est por debajo de su peso ideal, 0 si

    est en su peso ideal y 1 si est por encima de su peso ideal.

    o esMayorDeEdad()Mtodo pblico. Indica si es mayor de edad, devuelve un

    booleano.

    o comprobarSexo(char sexo)Mtodo privado. Comprueba que el sexo

    introducido es correcto (Ho M). En caso de no serlo, se establecer como

    H.

    o toString()Mtodo pblico. Devuelve toda la informacin del objeto.

    http://www.letradni.com.es/http://www.letradni.com.es/http://www.letradni.com.es/https://es.wikipedia.org/wiki/%C3%8Dndice_de_masa_corporalhttps://es.wikipedia.org/wiki/%C3%8Dndice_de_masa_corporalhttps://es.wikipedia.org/wiki/%C3%8Dndice_de_masa_corporalhttps://es.wikipedia.org/wiki/%C3%8Dndice_de_masa_corporalhttps://es.wikipedia.org/wiki/%C3%8Dndice_de_masa_corporalhttps://es.wikipedia.org/wiki/%C3%8Dndice_de_masa_corporalhttp://www.letradni.com.es/
  • 7/23/2019 Ejercicio 1 Java Basic Persona y Empresa

    2/5

    Tambin vamos a crear la clase Empresa (Empresa.java), que estar compuesta por:

    Tres atributos(nombre, direccin y un array de tipo Persona).

    Habr que generar dos constructores: el primero, por defecto, donde las variables

    nombre y direccin estarn a vaco y el array inicializado a un tamao de 10; el

    segundo constructor, recibir por parmetro el nombre y la direccin, as como el

    tamao al que se deber inicializar el array.

    Mtodos Getters y Setters

    Los siguientes mtodos, todos pblicos:

    o

    numPersonas()Devuelve el nmero de personas que hay en la empresa

    o numLibres()Devuelve el nmero de puestos vacantes en la empresa

    o sitioLibre()Indicar la primera posicin en el array donde existirn huecos

    libres para emplazar a una persona. Si no existen sitios libres, devolver -1.

    o esLlena()Devuelve un booleano indicando si existen sitios libres para

    emplazar a una persona.

    o haySitio()Devuelve un booleano indicando si existen o no huecos libres.

    o esVacia()Devuelve un booleano indicando si no existe ninguna persona en

    la empresa.

    o vaciar()Este mtodo se encarga de vaciar la empresa de personas.

    o anadirPersona(Persona p)Mtodo que se encarga de aadir una persona al

    array en el primer hueco libre siempre que existan huecos libres. Devuelve

    true si se ha podido insertar y false en caso contrario.

    o eliminarPersona(Persona p)Mtodo encargado de eliminar una persona

    del array de personas si existe. En tal caso, libera esa posicin del array

    (convirtindolo en null) y devolviendo la Persona eliminada. En caso de no

    existir la persona, se devolver null. (Recordar que una persona que

    identificar por su documento de identidad).

    o

    ampliarTamanoEmpresa(int n)Dado que la empresa tiene un tamao

    establecido, este mtodo se encargar de ampliar el tamao de la misma, sin

  • 7/23/2019 Ejercicio 1 Java Basic Persona y Empresa

    3/5

    perder la informacin almacenada, as como respetando el orden de los

    elementos existentes en el array previa a la ampliacin.

    o compactar()Este mtodo ser el encargado de agrupar todas las personas

    existentes en la empresa en las primeras posiciones del array y dejando libres

    las posiciones finales.

    o

    eliminarSitiosLibres()Mtodo encargado de reducir el tamao de laempresa para ajustarlo al nmero de personas que lo constituyen

    previamente, eliminando los espacios libres y, en consecuencia,

    decrementando el tamao del array hasta su valor mnimo.

    o personasConInicialNombre(char inicial)Este mtodo ser el encargado de

    devolver un array de personas cuyo inicial del nombre comience por el

    carcter pasado por parmetro.

    o

    personasMayoresDeEdad()Mtodo encargado de devolver un array de

    Personas que sean mayores de edad.

    o personasConSobrepeso()Devuelve un array de Personas que tengan un

    IMC superior al ideal.o personasConInfrapeso()Devuelve un array de Personas que tengan un IMC

    inferior al ideal.

    o toString()Devuelve toda la informacin relativa a la empresa, es decir,

    nombre, direccin y la informacin relativa a todos las personas que forman

    parte de la empresa.

  • 7/23/2019 Ejercicio 1 Java Basic Persona y Empresa

    4/5

    Ejemplo grfico de algunos mtodos:

    Como aclaracin, el array de Personas puede presentarse de la siguiente forma, y el mtodo

    compactar()y el mtodo eliminarSitiosLibres()como se puede visualizar en el esquema:

  • 7/23/2019 Ejercicio 1 Java Basic Persona y Empresa

    5/5

    Para corroborar el correcto funcionamiento de la aplicacin, ser necesario hacer uso del TEST

    de JUnit4 denominado EmpresaTestJUnit4.java. Dicho test est subdividido en diversos

    apartados que comprueban el correcto funcionamiento de la aplicacin. Se espera que el

    resultado obtenido sea Optimo, verificndose mediante la ejecucin del mismo y obteniendo

    un resultado tal y como el que se muestra a continuacin.

    ENVIAR LAS CLASES (Persona.java y Empresa.java) A MI [email protected]

    Un saludo y FELIZ NAVIDAD.

    mailto:[email protected]:[email protected]:[email protected]:[email protected]