Lic. Eduardo A. Zubieta C.
Fecha de entrega: 4 de septiembre de 2019
PRACTICA
PROGRAMACION II
1.- Crea una clase Cuenta (bancaria) con atributos para el número de cuenta (un
entero largo), el DNI del cliente (otro entero largo), el saldo actual y el interés
anual que se aplica a la cuenta (porcentaje). Define en la clase los siguientes
métodos:
Constructor por defecto y constructor con DNI, saldo e interés
Accedentes y mutadores. Para el número de cuenta no habrá mutador.
actualizarSaldo(): actualizará el saldo de la cuenta aplicándole el interés
diario (interés 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 hay saldo).
Método que nos permita mostrar todos los datos de la cuenta.
El número de cuenta se asignará de forma correlativa a partir de 100001,
asignando el siguiente número al último asignado.
2.- Desarrolla una clase Cafetera con atributos _capacidadMaxima (la
cantidad máxima de café que puede contener la cafetera) y _cantidadActual
(la cantidad actual de café que hay en la cafetera). Implementa, al menos, los
siguientes métodos:
Constructor predeterminado: establece la capacidad máxima en 1000 (c.c.)
y la actual en cero (cafetera vacía).
Constructor con la capacidad máxima de la cafetera; inicializa la cantidad
actual de café igual a la capacidad máxima.
Constructor con la capacidad máxima y la cantidad actual. Si la cantidad
actual es mayor que la capacidad máxima de la cafetera, la ajustará al
máximo.
Accedentes y mutadores.
llenarCafetera(): pues eso, hace que la cantidad actual sea igual a la
capacidad.
servirTaza(int): simula la acción 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): añade a la cafetera la cantidad de café indicada.
3.- Crea una clase Fecha con atributos para el día, el mes y el año
de la fecha.
Incluye, al menos, los siguientes métodos:
Constructor predeterminado con el 1-1-1900 como fecha por defecto.
Constructor parametrizado con día, mes y año.
leer(): pedirá al usuario el día (1 a 31), el mes (1 a 12) y el año (1900 a 2050).
bisiesto(): indicará si el año de la fecha es bisiesto o no.
diasMes(int): devolverá el número de días del mes que se le indique
(para el año de la fecha).
valida(): comprobará si la fecha es correcta (entre el 1-1-1900 y el 31-12-
2050);
si el día no es correcto, lo pondrá a 1; si el mes no es correcto, lo pondrá a 1;
y si el año no es correcto, lo pondrá a 1900. Será un método auxiliar
(privado). Este método se llamará en el constructor parametrizado y en
leer().
Accedentes y mutadores.
corta(): mostrará la fecha en formato corto (02-09-2003).
diasTranscurridos(): devolverá el número de días
transcurridos desde el 1-1-1900 hasta la fecha.
diaSemana(): devolverá el día de la semana de la fecha
(0 para domingo, ..., 6 para sábado). El 1-1-1900 fue domingo.
larga(): mostrará la fecha en formato largo, empezando por el día de la
semana (martes 2 de septiembre de 2003).
diasEntre(Fecha): devolverá el número de días entre la fecha y la
proporcionada.
siguiente(): pasará al día siguiente.
anterior(): pasará al día 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 métodos para arrancar el motor y apagarlo.
Rueda: con métodos para inflar la rueda y desinflarla.
Ventana: con métodos para abrirla y cerrarla.
Puerta: con una ventana y métodos para abrir la puerta y cerrar la puerta.
Coche: con un motor, cuatro ruedas y dos
puertas; con los métodos que te parezcan
adecuados
5.- Crea una clase Libro que modele la información que se mantiene en una
biblioteca sobre cada libro: título, autor (usa la clase Persona), ISBN,
páginas, edición, editorial , lugar (ciudad y país) y fecha de edición (usa la
clase Fecha). La clase debe proporcionar los siguientes servicios: accedentes y
mutadores, método para leer la información y método para mostrar la
información. Este último método mostrará la información del libro con este
formato:
Título: Introduction to Java Programming
3a. edición
Autor: Liang, Y. Daniel
ISBN: 0-13-031997-X
Prentice-Hall, New Jersey (USA), viernes 16 de noviembre de
2001
784 páginas
6.-Desarrolla una clase Cancion con los siguientes atributos:
titulo: una variable String que guarda el título de la canción.
autor: una variable String que guarda el autor de la
canción. y los siguientes métodos:
Cancion(String, String): constructor que recibe como parámetros el
título y el autor de la canción (por este orden).
Cancion(): constructor predeterminado que inicializa el título y el autor a
cadenas vacías.
dameTitulo(): devuelve el título de la canción.
dameAutor(): devuelve el autor de la canción.
ponTitulo(String): establece el título de la canción.
ponAutor(String): establece el autor de la canción.
7.- Desarrolla una clase CD con los siguientes atributos:
canciones: un array de objetos de la clase Cancion.
contador: la siguiente posición libre del array
canciones. y los siguientes métodos:
CD(): constructor predeterminado (creará el array canciones).
numeroCanciones(): devuelve el valor del contador de canciones.
dameCancion(int): devuelve la Cancion que se encuentra en la posición
indicada.
grabaCancion(int, Cancion): cambia la Cancion de la posición indicada
por la nueva Cancion proporcionada.
agrega(Cancion): agrega al final del array la Cancion proporcionada.
elimina(int): elimina la Cancion que se encuentra en la posición indicada.
8.-Desarrollar una lista de Libros ordenada por título. La funcionalidad de la
lista será la habitual: conocer el número de libros que hay en la lista, insertar
un nuevo libro (en la posición que le corresponda), eliminar el libro de una
determinada posición y obtener el libro de una determinada posición. También
incluirá un método para buscar un libro a partir de una parte de su título (sin
distinguir entre mayúsculas y minúsculas); el método devolverá la posición en
la que se encuentra el libro (–1 si no se encuentra).