Contenidos
Desarrollar una clase llamada Cuenta con dos atributos: número y saldo. Tendrá dos métodos para ingresar y sacar dinero.
Desarrollar una clase llamada Cajero con un método llamado ejecutarOperacion que recibe como parámetros una cuenta, una cantidad de dinero, un carácter y un entero. Si el carácter es “I”, la operación a realizar contra la cuenta es ingresar, y si el carácter es “S” la operación será sacar. El entero indica el número de veces consecutivo que se ha de ejecutar la operación solicitada. Este método deberá devolver el saldo de la cuenta después de ejecutar la operación. Adicionalmente, llevará el control del número de operaciones totales que ha realizado.
Ambas dos clases deben tener dos constructores como mínimo: el de por defecto, y otro a elección del alumno.
Desarrollar una clase llamada Ejercicio8 con el método main que deberá crear dos cuentas distintas, y ejecutar a través de una instancia de Cajero un ingreso en una y un reintegro en otra. Al final, mostrará por pantalla el número de operaciones total que ha realizado el cajero.
Nota: Añadir todos los atributos y métodos adicionales que se crean necesarios para la correcta ejecución del programa.
Clase Cuenta
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
class Cuenta(private val numero: String, private var saldo: Double) { // Constructor por defecto constructor() : this("000000", 0.0) // Método para ingresar dinero fun ingresar(cantidad: Double) { saldo += cantidad } // Método para sacar dinero fun sacar(cantidad: Double) { if (saldo >= cantidad) { saldo -= cantidad } else { println("Fondos insuficientes para retirar $cantidad") } } // Método para obtener el saldo actual fun obtenerSaldo(): Double = saldo } |
Clase Cajero
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
class Cajero { private var totalOperaciones = 0 // Método para ejecutar operaciones sobre las cuentas fun ejecutarOperacion(cuenta: Cuenta, cantidad: Double, operacion: Char, veces: Int): Double { for (i in 1..veces) { when (operacion) { 'I' -> cuenta.ingresar(cantidad) 'S' -> cuenta.sacar(cantidad) else -> println("Operación desconocida") } totalOperaciones++ } return cuenta.obtenerSaldo() } // Método para obtener el total de operaciones realizadas fun getTotalOperaciones(): Int = totalOperaciones } |
Clase Ejercicio8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
fun main() { val cuenta1 = Cuenta("123456", 1000.0) val cuenta2 = Cuenta("654321", 2000.0) val cajero = Cajero() // Realizar un ingreso en cuenta1 y un retiro en cuenta2 cajero.ejecutarOperacion(cuenta1, 500.0, 'I', 1) cajero.ejecutarOperacion(cuenta2, 300.0, 'S', 1) // Mostrar saldos finales y total de operaciones println("Saldo final cuenta1: ${cuenta1.obtenerSaldo()}") println("Saldo final cuenta2: ${cuenta2.obtenerSaldo()}") println("Total de operaciones realizadas por el cajero: ${cajero.getTotalOperaciones()}") } |