1
resposta

Zerando saldo

public class Conta {
    double saldo;

    public void setSaldo(double saldo){
        saldo = this.saldo;
    }

    public void zeraSaldo() {
        saldo *= 0;
    }

    public void exibirSaldo() {
        System.out.printf("Saldo atual: R$ %.2f\n", saldo);
    }
}
import java.util.Scanner;

public class Exercicios {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        Conta c = new Conta();

        System.out.println("Digite seu saldo: R$ ");
        c.setSaldo(in.nextDouble());

        c.exibirSaldo();
        c.zeraSaldo();
        c.exibirSaldo();
    }
}
1 resposta

Oi, Bernardo! Como vai?

Gostei da forma como você separou os métodos da classe Conta, deixando o código organizado e fácil de entender. O ponto importante neste exercício está no método setSaldo(). Do jeito que você explicou, a atribuição ficou invertida, então o valor digitado não está sendo salvo no atributo da classe. O ajuste fica assim: this.saldo = saldo;.

Uma dica interessante para o futuro é usar o operador de atribuição direta para deixar métodos de alteração mais claros. Veja este exemplo:


public void setSaldo(double saldo){
    this.saldo = saldo;
}

Esse código recebe o valor informado no parâmetro e salva corretamente no atributo saldo da conta.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!