Вы находитесь на странице: 1из 4

PROGRAMACIN II

Resuelva de manera independiente los siguientes ejercicios en java. Aplique el


concepto de encapsulamiento de objeto y herencia, polimorfismo (clase abstracta
e interface y Excepciones).
Valor 10ptos
Enve ejercicios en una carpeta con su nombre por el enlace del aula virtual, no se
aceptan trabajo por correo electrnico ni trabajos ya realizados y entregados por
otro compaero, si es el caso se anulan automticamente.
1. Crea una clase Cuenta (bancaria) con atributos para el nmero de cuenta (un
entero largo), idcliente (otro entero largo), el saldo actual y el inters anual que se
aplica a la cuenta (porcentaje). Define en la clase los siguientes mtodos:
Constructor por defecto y constructor con idcliente, saldo e inters
actualizarSaldo(): actualizar el saldo de la cuenta aplicndole el inters diario
(inters anual dividido entre 365 aplicado al saldo actual).
ingresar(double): permitir ingresar una cantidad en la cuenta.
retirar(double): permitir sacar una cantidad de la cuenta (si ha y saldo).
Mtodo que nos permita mostrar todos los datos de la cuenta.
El nmero de cuenta se asignar de forma correlativa a partir de 100001,
asignando el siguiente nmero al ltimo asignado.

2. Desarrolla una clase Cafetera con atributos _capacidadMaxima (la cantidad


mxima de caf que puede contener la cafetera) y _cantidadActual (la cantidad
actual de caf que hay en la cafetera). Implementa, al menos, los siguientes
mtodos:
Constructor predeterminado: establece la capacidad mxima en 1000 (c.c.) y la
actual en cero (cafetera vaca).
Constructor con la capacidad mxima de la cafetera; inicializa la cantidad actual
de caf igual a la capacidad mxima.
Constructor con la capacidad mxima y la cantidad actual. Si la cantidad actual es
mayor que la capacidad mxima de la cafetera, la ajustar al mximo.
llenarCafetera(): pues eso, hace que la cantidad actual sea igual a la capacidad.
servirTaza(int): simula la accin de servir una taza con la capacidad indicada.
Si la cantidad actual de caf no alcanza para llenar la taza, se sirve lo que
quede.
vaciarCafetera(): pone la cantidad de caf actual en cero.
agregarCafe(int): aade a la cafetera la cantidad de caf indicada.

3. Crea una clase Fecha con atributos para el da, el mes y el ao de la fecha.
Incluye, al menos, los siguientes mtodos:
Constructor predeterminado con el 1-1-1900 como fecha por defecto.
Constructor parametrizado con da, mes y ao.
leer(): pedir al usuario el da (1 a 31), el mes (1 a 12) y el ao (1900 a 2050).
bisiesto(): indicar si el ao de la fecha es bisiesto o no.
diasMes(int): devolver el nmero de das del mes que se le indique
(para el ao de la fecha).
PROGRAMACIN II

valida(): comprobar si la fecha es correcta (entre el 1-1-1900 y el 31-12-2050);


si el da no es correcto, lo pondr a 1; si el mes no es correcto, lo pondr a 1; y si el
ao no es correcto, lo pondr a 1900. Ser un mtodo auxiliar (privado).
Este mtodo se llamar en el constructor parametrizado y en leer()
corta(): mostrar la fecha en formato corto (02-09-2003).
diasTranscurridos(): devolver el nmero de das transcurridos desde el 1-1-1900
hasta la fecha.
diaSemana(): devolver el da de la semana de la fecha (0 para domingo, ..., 6 para
sbado). El 1-1-1900 fue domingo.
larga(): mostrar la fecha en formato largo, empezando por
el da de la semana (martes 2 de septiembre de 2003).
fechaTras(long): har que la fecha sea la correspondiente a haber transcurrido los
das que se indiquen desde el 1-1-1900.
diasEntre(Fecha): devolver el nmero de das entre la fecha y la proporcionada.
siguiente(): pasar al da siguiente.
anterior(): pasar al da anterior.
copia(): devolver un clon de la fecha.
igualQue(Fecha): indica si la fecha es la misma que la proporcionada.
menorQue(Fecha): indica si la fecha es anterior a la proporcionada.
mayorQue(Fecha): indica si la fecha es posterior a la proporcionada.

4. Crea las siguientes clases (cada una en su archivo):


Motor: con mtodos para arrancar el motor y apagarlo.
Rueda: con mtodos para inflar la rueda y desinflarla.
Ventana: con mtodos para abrirla y cerrarla.
Puerta: con una ventana y mtodos para abrir la puerta y cerrar la puerta.
Coche: con un motor, cuatro ruedas y dos puertas; con los mtodos que te parezcan
adecuados
Crea las instancias y las salidas de datos

5. Crear una clase Empleado que modele la informacin que una empresa mantiene
sobre cada empleado: NIF, sueldo base, pago por hora extra, horas extra
realizadas en el mes, tipo (porcentaje) de IRPF, casado o no y nmero de hijos.
Realice los siguientes clculos aplicando el concepto de encapsulamiento de datos y
herencia.
Clculo y devolucin del complemento correspondiente a las horas extra realizadas.
Clculo y devolucin del sueldo bruto.
Clculo y devolucin de las retenciones (IR) a partir del tipo, teniendo en cuenta que
el porcentaje de retencin que hay que aplicar es el tipo menos 2 puntos si el
empleado est casado y menos 1 punto por cada hijo que tenga; el porcentaje se
aplica sobre todo el sueldo bruto.
println(): visualizacin de la informacin bsica del emplea do.
printAll(): visualizacin de toda la informacin del empleado.
La bsica ms el sueldo base, el complemento por horas extra, el sueldo bruto, la
retencin de IR y el sueldo neto.
PROGRAMACIN II

6. Crea una clase Libro que modele la informacin que se mantiene en una biblioteca
sobre cada libro: ttulo, autor (usa la clase Persona), ISBN, pginas, edicin,
editorial, lugar (ciudad y pas) y fecha de edicin (usa la clase Fecha). La clase
debe proporcionar los siguientes servicios: mtodo para leer la informacin y
mtodo para mostrar la informacin. Este ltimo mtodo mostrar la informacin
del libro con este formato:
Ttulo: Introduction to Java Programming
3a. edicin
Autor: Liang, Y. Daniel
ISBN: 0-13-031997-X
Prentice-Hall, New Jersey (USA), viernes 16 de novi
embre de
2001
784 pginas

7. supongamos que necesitamos implementar dos clase que llamaremos suma y


resta. Cada clase tiene como atributo valor1, valor2 y resultado. Los mtodos a
definir son cargar1(inicializa el atributo valor1), cargar2 (que inicializa el atributo
valor2), operar (que en el caso de la clase suma suma los dos atributos y en el
caso de la clase resta hace la diferencia entre valor1 y valor2, y otro mtodo
mostrar resultado.

8. Construir una clase Factura que descienda de la clase precio y que incluya dos
atributos especficos llamados emisor y cliente y al menos, un mtodo llamado
imprimirFactura.

9. La empresa informtica CompuService necesita llevar un registro de todos sus


empleados que se encuentran en la oficina central, para eso ha creado un
diagrama de clases que debe incluir lo siguiente:
Empleado
Atributos:
Nombre: tipo cadena
Cedula: tipo cadena
Edad: entero (entre 18 y 45 aos)
Casado: Boolean
Salario: double
Mtodos:
Constructor
PROGRAMACIN II

Mtodo que permita mostrar la clasificacin segn la edad de acuerdo al siguiente


algoritmo:
Si edad es menor o igual que 21. Principiante
Si edad es >=22 y <=25. Intermedio
Si edad es mayor que 35. Seor
-Imprimir datos del empleado por pantalla (utilizar saltos de lnea para separar los
atributos.
-Un mtodo que permita aumentar el salario en un porcentaje que sera pasado como
parmetro al mtodo.
2. programador (Especializacin de Empleado). Clase que hereda de empleado todos los
atributos y mtodos.
Atributos:
LneasDeCdigoPorHora: tipo entero
Lenguaje dominante: tipo cadena
Mtodos
-Constructor con y sin parmetros de entrada.

10. Construir una clase BASE con el nombre empresa, define los atributos
(nombreTrabjador, salarioBasico, HorasExtras). Crea una clase empleado que herede las
caractersticas de la clase empresa, incluya el atributo CodTrabajador. Crea un mtodo
verDatos() que imprima los datos del empleado y calcule el salario total. Aplique el
concepto de herencia.

Вам также может понравиться