Magna Concursos

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?

 

Provas

Questão presente nas seguintes provas