Solucionado (ver solución)
Solucionado
(ver solución)
3
respuestas

Problemas con Metodos con Retorno

// Definición de Clases
class Cliente
{
    nombreCliente;
    dniCliente;
    rutCliente;
}

class CuentaCorriente
{
    #saldo;
    numero;
    agencia;

    constructor() {
        this.#saldo = 0;
        this.numero = '';
        this.agencia = '';
    }

    depositoEnCuenta(valor) { // Método para hacer deposito
        if (valor > 0)
            this.saldo += valor;
        return this.#saldo;
    }

    retirarDeCuenta(valor) {
        if (valor <= this.#saldo)
            this.#saldo -= valor;
        return this.#saldo;
    }

    verSaldo() {
        return this.#saldo;
    }
}



cuentaDeLeonardo = new CuentaCorriente();

let saldo = cuentaDeLeonardo.verSaldo();
console.log("El Saldo actual es " + saldo);

saldo = cuentaDeLeonardo.depositoEnCuenta(100);
console.log("El Saldo actual es " + saldo);

saldo = cuentaDeLeonardo.retirarDeCuenta(100);
console.log("El Saldo actual es " + saldo);

saldo = cuentaDeLeonardo.depositoEnCuenta(10);
console.log("El Saldo actual es " + saldo);

Porque en todos los casos me muestra cero

3 respuestas

Hola Gerardo, espero que estés bien! Está devolviendo la variable incorrectamente Pruebe esto: para devolver un valor que no sea el predeterminado, una función debe tener una declaración de devolución que especifique el valor a devolver. Una función sin devolución devolverá un valor predeterminado. ¡Muchas gracias por su contribución! ¡Para cualquier duda, estoy disponible! ¡Vamos juntos! ¡No desanimes! :)

Si este post te ayudó, por favor, marca como solucionado ✓.
solución!

Hola Gerardo.

Revisa la línea en depositoEnCuenta las siguientes líneas:

if (valor > 0)
            this.saldo += valor;

Con esa línea cuando depositas, creas una nueva variable pública para saldo. Deberias intentar cambiarla por:

if (valor > 0)
            this.#saldo += valor;

De esta forma tu programa ahora va a ejecutar el ciclo correctamente. Al no depositar, no puedes retirar y tu saldo nunca está cambiando, por eso siempre retorna 0.

Gracias, era eso nomas, me olvide el #