Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Duvida construtor

Quando uso o new Conta, com os construtores definidos

public Conta(int agencia, int numero) {
        this.agencia = agencia;
        this.numero = numero;

    }

E rodo esse comando =

public class TestaValores {
    public static void main(String[] args) {
        Conta conta = new Conta(643, 1);


        System.out.println(conta.getAgencia());
    }
}

Ele me da no terminal : 643

mas se eu coloco um "0" na frente do 643, assim:

public class TestaValores {
    public static void main(String[] args) {
        Conta conta = new Conta(0643, 1);        

        System.out.println(conta.getAgencia());
    }
}

Ele me da no terminal: 419

Por quê?

1 resposta
solução!

Ótima pergunta Cristian :)

Em Java, quando escrevemos números literais inteiros com zeros à esquerda eles são interpretados de forma octal ao invés de decimal.

o número "643" em Octal é igual a "419" em decimal, é por isso que ao escrever "0643" o seu código está imprimindo "419" e não "643"