class TestaContas {
public static void main(String[] args) {
// Conta c = new Conta(); //este codigo não funciona porque a classe Conta passou a ser abstrata
ContaCorrente cc = new ContaCorrente();
ContaPoupanca cp = new ContaPoupanca();
// c.deposita(1000);
cc.deposita(1000);
// cp.deposita(1000);
//
try {
cp.deposita(-1000);
}
catch (IllegalArgumentException e) {
System.out.println("Você tentou depositar um valor inválido");
}
//
// c.atualiza(0.01);
cc.atualiza(0.01);
cp.atualiza(0.01);
//
try {
cc.saca(10000);
System.out.println("Saque Efetudado com sucesso");
} //catch (RuntimeException e) {pode ser assim
catch (SaldoInsuficienteException e) { //ou assim -- usando a classe cariada por nós
//System.out.println(cc.getSaldo() + " Saldo insufuciente");
System.out.println(cc.getSaldo() + " Saldo insufuciente");
}
catch (Exception e) { //ou assim
//System.out.println(cc.getSaldo() + " Saldo insufuciente");
System.out.println("Ocorreu um erro indeterminado");
}
// System.out.println(c.getSaldo());
System.out.println(cc.getSaldo());
System.out.println(cp.getSaldo());
System.out.printf("O saldo é: %.2f", cc.getSaldo());
System.out.printf("O saldo é: %.2f", cp.getSaldo());
}
}
O que estou fazendo de errado ?? a mensagem de erro não apareceu.
try { cp.deposita(-1000); } catch (IllegalArgumentException e) { System.out.println("Você tentou depositar um valor inválido"); } import javax.management.RuntimeErrorException;
abstract class Conta {// private double saldo; protected double saldo;
public double getSaldo() { return this.saldo; }
public void setSaldo(double saldo) { this.saldo = saldo; }
public boolean saca(double valor_saque) throws Exception { if (this.saldo < valor_saque) { //return false; throw new SaldoInsuficienteException(saldo); } else { this.saldo = this.saldo - valor_saque; return true; } };
public void deposita(double valor_dep) { if (valor_dep > 0) { this.saldo += valor_dep; } else { throw new IllegalArgumentException(); } };
//public void atualiza(double taxa) { // this.saldo += (this.saldo * taxa); // }; abstract public void atualiza(double taxa);};