Pregunta 1. Orientación a objetos.
Desarrolla una clase CuentaBancaria que simule las operaciones básicas de una cuenta. La clase debe tener los siguientes atributos:
numeroCuenta(String) - Formato libre, pero único.nombreTitular(String)saldo(double)tipoCuenta(String) - Por ejemplo: “Ahorro”, “Corriente”, “Inversión”.
Se requieren los siguientes constructores:
- Un constructor sin argumentos (saldo inicial
0.0). - Un constructor que reciba
numeroCuentaynombreTitular(saldo inicial0.0). - Un constructor que reciba todos los atributos.
Implementa lo siguiente:
- Métodos getters y setters. El
numeroCuentano debería ser modificable tras la creación del objeto. Elsaldosolo debe ser modificable a través de los métodos de ingreso y retiro. - Los métodos
equals()(dos cuentas son iguales si sunumeroCuentaes el mismo),hashCode()ytoString(). - Un método
ingresarDinero(double cantidad)que incremente el saldo. Debe validar que la cantidad a ingresar sea positiva. Devolverátruesi la operación fue exitosa,falseen caso contrario. - Un método
retirarDinero(double cantidad)que decremente el saldo. Debe validar que la cantidad a retirar sea positiva y que haya saldo suficiente. Devolverátruesi la operación fue exitosa,falseen caso contrario. - Un método
consultarSaldo()que devuelva el saldo actual.
Crea una clase principal con un método main para instanciar objetos CuentaBancaria, realizar algunas operaciones de ingreso y retiro, y mostrar el estado de las cuentas.
Pregunta 2. Diseño de clases
Crea una aplicación para gestionar libros en una biblioteca con 2 clases:
-
Libro: Representará un libro con la siguiente información:- Atributos:
titulo(String),autor(String),isbn(String),numeroDeCopiasDisponibles(int). - Constructores:
- Uno que reciba todos los atributos.
- Otro que reciba
titulo,autor,isbny establezcanumeroDeCopiasDisponiblesa 1 por defecto.
- Métodos:
getterspara todos los atributos.setNumeroDeCopiasDisponibles(int numero)prestarLibro(): Decrementa el número de copias disponibles en 1 si hay copias. Devuelvetruesi se pudo prestar,falseen caso contrario.devolverLibro(): Incrementa el número de copias disponibles en 1.toString(): Devuelve una representación en cadena del libro (ej: “El Quijote por Miguel de Cervantes (ISBN: XXX) - Copias: Y”).
- Atributos:
-
Biblioteca: Gestionará una colección de objetosLibro.- Atributos: Un array de
Libroy una variable que indica cuántos libros distintos hay (no el total de copias). La capacidad inicial del array debe ser de 20 (CAPACIDAD_INICIAL). - Constructores:
- Uno sin argumentos que inicialice el array con
CAPACIDAD_INICIAL.
- Uno sin argumentos que inicialice el array con
- Métodos:
agregarLibro(Libro nuevoLibro): Añade un libro a la biblioteca. Si el libro (mismo ISBN) ya existe, simplemente incrementa sunumeroDeCopiasDisponiblescon las delnuevoLibro. Si es un libro nuevo y no hay espacio, el array debe redimensionarse (aumentar su capacidad en 10).buscarLibroPorIsbn(String isbn): Devuelve elLibrocon ese ISBN, onullsi no se encuentra.listarLibrosDisponibles(): Imprime por consola los detalles de todos los libros que tengan al menos una copia disponible.totalLibrosDistintos(): Devuelve la cantidad de títulos diferentes en la biblioteca.
- Atributos: Un array de