Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

por que me arroja 400 y no 500?

hola comparto mi codigo para encontrar el error de la explicacion del tutor, gracias

public class TestReferencia {
    public static void main(String[] args) {
        Cuenta primeraCuenta = new Cuenta();
        primeraCuenta.saldo = 200;

        Cuenta segundaCuenta = primeraCuenta;
        segundaCuenta.saldo = 100;

        System.out.println("saldo de primera cuenta: " + primeraCuenta.saldo );
        System.out.println("saldo de segunda cuenta: " + segundaCuenta.saldo );

        segundaCuenta.saldo = 400;
        System.out.println("Saldo primera cuenta: " + primeraCuenta.saldo);
   }
}
2 respuestas
solución!

¡Hola Stive!

Compañero, la razón por la cual el resultado del saldo de la segunda cuenta es 400, y no 500, tiene que ver con la operación que estás realizando. Verás, segundaCuenta.saldo = 400 es una operación de asignación. Esto es que al saldo de la cuenta le estás estableciendo el valor de 400, no estás sumando 400 unidades al valor que tenía el saldo previamente. En otras palabras, estás sobre-escribiendo el valor que tenía el saldo, por un nuevo valor, en este caso, 400.

Lo que tu querías hacer realmente era sumarle 400 unidades al valor original de saldo, 100, para que el saldo resultante fuera 500. En ese caso no tendrías que haber escrito:

segundaCuenta.saldo = 400;

Sino más bien

segundaCuenta.saldo += 400;

muchas gracias compañero. entendido tu explicación.