Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida no Ex. 2 da Aula 1 - Herança, reescrita e polimorfismo

Olá! Eu gostaria de saber por que o método atualiza() não está funcionando. Não aponta nenhum erro, apenas não faz nada. Desde já agradeço.

obs: Estou usando o eclipse para fazer esse código.


public class Conta1 {
    private String nome;
    private double saldo;
    private String numerodaconta;
    private String cpf;
    private String rg;

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

    private double limite;
    private String agencia;
    private String conta;

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getNumerodaconta() {
        return numerodaconta;
    }

    public void setNumerodaconta(String numerodaconta) {
        this.numerodaconta = numerodaconta;
    }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public String getRg() {
        return rg;
    }

    public void setRg(String rg) {
        this.rg = rg;
    }

    public double getLimite() {
        return limite;
    }

    public void setLimite(double limite) {
        this.limite = limite;
    }

    public String getAgencia() {
        return agencia;
    }

    public void setAgencia(String agencia) {
        this.agencia = agencia;
    }

    public String getConta() {
        return conta;
    }

    public void setConta(String conta) {
        this.conta = conta;
    }

    public double getSaldo() {
        return saldo;
    }

    void saca(double valor) {
        this.saldo = this.saldo - valor;
    }

    public void deposita(double valor) {
        this.saldo += valor;

    }

    public void atualiza(double taxa) {
        this.saldo = this.saldo * taxa;

    }

    public void mostra() {
        System.out.println(nome);
        System.out.println(agencia);
        System.out.println(saldo);
        System.out.println(conta);
        System.out.println(cpf);
        System.out.println(rg);
        System.out.println(limite);
        System.out.println(numerodaconta);

    }

}


public class TestaConta1 {
    public static void main(String[] args) {
        Conta1 conta = new Conta1();
        conta.setNome("matheus");
        conta.setAgencia("bb");
        conta.setConta("6640");
        conta.setCpf("3456786543");
        conta.setRg("456788765");
        conta.setNumerodaconta("15372-0");
        conta.setLimite(500);
        conta.setSaldo(5000);
        conta.saca(300);
        conta.deposita(500);
        conta.mostra();
        conta.atualiza(10);
    }
}
2 respostas
solução!

Matheus,

N a verdade ,o método atualiza fazendo alguma coisa sim o que acontece que ele não está retornando nada .

a sua assinatura do método está assim :

 public void atualiza(double taxa) {
        this.saldo = this.saldo * taxa;

    }

seu método está como void , então ele não está retornando nada , neste caso temos duas possibilidade para mostra o resultado : ou você muda a assinatura do seu método e coloca double ficando deste jeito:

public double atualiza(double taxa) {
      return  this.saldo = this.saldo * taxa;

    }

ou então você coloca um System.out.println no método assim :

public void atualiza(double taxa) {
        this.saldo = this.saldo * taxa;
    System.out.println(this.saldo);
    }

espero ter te ajudado , Bons Estudos

Na verdade você pode utilizar o método como void, você só precisar fazer com que ele te mostre isso. O meu codigo ficou assim:

    public void atualiza(double taxa){
        this.saldo += this.saldo*taxa;
        System.out.println("Saldo atualizado. Novo Saldo: "+this.saldo+"\nCalculado com a taxa de "+taxa*100+"%");
    }
}

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software