Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFMT
Orgão: SSA Águas Pantanal-MT
Analise o código abaixo.
public class ContaCorrente {
private String numero;
private String cliente;
private float saldo;
public ContaCorrente() { }
public ContaCorrente(String numero, String cliente, float saldo) {
this.numero = numero;
this.cliente = cliente;
this.saldo = saldo;
}
// gets e setters
public void sacar(float x) throws SaqueInvalidoException {
if (x > saldo)
throw new SaldoInsuficienteException();
if (x < 0)
throw new SaqueInvalidoException();
saldo --= x;
}
}
public class SaldoInsuficienteException extends RuntimeException{
public SaldoInsuficienteException() {
super("Saldo Insuficiente!");
}
}
public class SaqueInvalidoException extends Exception {
public SaqueInvalidoException() {
super("Valor de saque inválido");
}
}
public class ContaCorrentePlus extends ContaCorrente {
private float pontos;
public ContaCorrentePlus() { }
public ContaCorrentePlus(String numero, String cliente, float saldo, float pontos) {
super(numero, cliente, saldo);
this.pontos = pontos;
}
public float getPontos() {
return pontos;
}
public void setPontos(float pontos) {
this.pontos = pontos;
}
public void sacar(float x) throws SaqueInvalidoException {
super.sacar(x);
pontos = pontos + x * 0.3f;
}
}
public static void main(String[] args) {
ContaCorrente[] contas = new ContaCorrente[3];
contas[0] = new ContaCorrente("1", "c1", 100);
contas[1] = new ContaCorrentePlus("2", "c2", 50, 1);
contas[2] = new ContaCorrente("3", "c3", 150);
float[] saques = new float[]{ 100};
for (int i = 0; i < contas.length; i++) {
ContaCorrente conta = contas[i];
try {
conta.sacar(saques[i]);
} catch (SaqueInvalidoException ex) {
System.out.println("Saque Inválido!");
}
}
}
O que ocorrerá ao ser executado esse código?