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

Dúvida no Ex. 1 da Aula 1 - Pacotes

A minha classe TestaConta aparentemene não tem error porem ao rodar esta dando error, segue os códigos

BANCO

package br.com.nicolicontabil.alura.banco;

import br.com.nicolicontabil.alura.banco.conta.Conta;
import br.com.nicolicontabil.alura.banco.conta.ContaCorrente;

public class TestaConta {
    public static void main(String[] args) {
        Conta conta = new ContaCorrente("Laerdes", 1234, 10000);
        /*
        AtualizadorDeContas atualizadorDeContas = new AtualizadorDeContas();
        */
        conta.impreme();


    }

}

SISTEMA

package br.com.nicolicontabil.alura.banco.sistema;

public class AtualizadorDeContas {

}
package br.com.nicolicontabil.alura.banco.sistema;

import br.com.nicolicontabil.alura.banco.conta.Tributavel;

public class GerenciadorDeImpostoDeRenda {
    private double total;

    public void adiciona(Tributavel t) {
        System.out.println("Adicionando tributavel: " + t);

        this.total += t.calculaTributos();
    }

    public double getTotal() {
        return this.total;
    }
}

CONTA

package br.com.nicolicontabil.alura.banco.conta;

import java.util.concurrent.ExecutionException;

public abstract class Conta {
    protected double saldo;
    private String nome;
    private int agencia;

    public Conta(String nome, int agencia, double saldo) {
        this.nome = nome;
        this.agencia = agencia;
        this.saldo = saldo;
    }

    public String getNome() {
        return nome;
    }

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

    public int getAgencia() {
        return agencia;
    }

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

    public double getSaldo() {
        return saldo;
    }

    public void impreme() {
        System.out.println(nome);
        System.out.println(agencia);
        System.out.printf("O saldo é: %.2f\n", getSaldo());

    }

    public abstract void atualiza(double taxaSelic);

    public void saca(double valorSaque) {
        if (this.saldo >= valorSaque) {
            this.saldo -= valorSaque;
        } else {
            System.out.println("Saldo insuficiente para saque");
        }

    }

    public void deposita(double valorDeposito) throws ValorInvalidoException {

        if (valorDeposito < 0) {
            throw new ValorInvalidoException();
        } else {

            this.saldo += valorDeposito;
        }

    }

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

}
package br.com.nicolicontabil.alura.banco.conta;

public class ContaCorrente extends Conta implements Tributavel {

    public ContaCorrente(String nome, int agencia, double saldo) {
        super(nome, agencia, saldo);
    }

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

    @Override
    public double calculaTributos() {
        return this.getSaldo() * 0.01;
    }

    /*
     * 
     * public void atualiza(double taxa) { super.atualiza(taxa); }
     */
}
package br.com.nicolicontabil.alura.banco.conta;

public class ContaPoupanca extends Conta {

    public ContaPoupanca(String nome, int agencia, double saldo) {
        super(nome, agencia, saldo);
    }

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

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

}
package br.com.nicolicontabil.alura.banco.conta;

public class SeguroDeVida implements Tributavel {

    @Override
    public double calculaTributos() {
        // TODO Auto-generated method stub
        return 42;
    }

}
package br.com.nicolicontabil.alura.banco.conta;

public interface Tributavel {
    double calculaTributos();
}
package br.com.nicolicontabil.alura.banco.conta;

import org.omg.Messaging.SyncScopeHelper;

public class ValorInvalidoException extends Exception {

}
`
1 resposta
solução!

Revisei o projeto e rodei e não apresento + o problema