Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

DUDA

Porque cuando yo utilizo esta sintaxis para el método transferir a la hora de aplicar la resta de la comision de la cuenta que transfiere, no me esta realizando la resta.

public boolean transferir(double valor, Cuenta cuenta) {

    if (this.saldo >= valor) {

        this.saldo = this.saldo - valor;
        cuenta.saldo = cuenta.saldo + valor;
        System.out.println("Transferencia Exitosa!");
        return true;
    } else {
        return false;
    }
}


y cuando utilizo los metodos implementados si me esta realizando la resta de la comisión?

public boolean transferir(double valor, Cuenta cuenta) {

    if (this.saldo >= valor) {

        this.retirar(valor);
        cuenta.Depositar(valor);
        System.out.println("Transferencia Exitosa!");
        return true;
    } else {
        return false;
    }
}

sera algun tema de referencia de datos ?
2 respuestas

Buen dia,

Podrias probar convirtiendo el valor a entero o a double, puede ser que lo este detectando como si fuera un valor de tipo texto o caracter.

Podrias probar en tu if lo siguiente:

  1. Utilizar la funcion de parseFloat(x) para hacer la conversion a un valor float (esto te puede servir justo en donde tienes la resta o la suma debido a que son valores especificos).
  2. Pon un breakpoint dentro de tu if para ver si se esta cumpliendo la condicion establecita y si no vulve a revisar como estan declaradas las variables de la condicion.
  3. Revisa la clase cuenta y verifica que se el tipo de dato en cada propiedad.
  4. Prueba las funciones Math para hacer las operaciones matematicas te comparto la documentacion de dicahs funciones. https://mathjs.org/

Espero esta info te sea de ayuda

Saludos

this.saldo = this.saldo - valor; this.retirar(valor); Por estás 2 lineas en la primera retiras el saldo directamente, pero en la segundo lo haces a traves del método ya definido retirar el cual si te aumenta la comisión.