Java

A sua classe conta bancária deve permitir apenas saques inferiores a R$ 500,00 ou que não
façam com que a soma entre o saldo e o limite da conta resultem em um valor menor do que
zero. Caso estas condições não se cumpram, deve ser lançada uma ContaException com uma
mensagem que identifique o tipo de erro.
// Deve decrementar o valor do saque da conta . Retorna “true” caso a operação tenha sido bem sucedida,ou seja, a conta possui este ( lembre-se de considerar o limite) .

public boolean sacar(double valor) throws ContaException {}
If(valor > 500) {
Não sei oque fazer depois disso… Mim ajudem por favor

  throw new ContaException ("O saque tem de ser inferior a R$ 500,00");

eu estive analisando a questão e cheguei nesse resultado, mais ainda estou em duvida que esta faltando outro if:

public boolean sacar(double valor) throws ContaException {
if (valor < 500){
throw new ContaException(“O saque tem que ser inferior a R$ 500,00”);
return false;
} else {
this.saldo-=valor;
return true;

 }

}
outro exemplo que eu fiz:
public boolean sacar(double valor) throws ContaException {
if (valor < 500){
throw new ContaException(“O saque tem que ser inferior a R$ 500,00”);

} else {
if(valor < 400){return true;}

else if(valor <600){return false;}
}
this.saldo -= valor;
}

Porque o 400 e porque o 600?

Tens de ter dois ifs:

  • para garantir que o valor não é superior a 500 (já tens)
  • para garantir que o saldo atual é maior ou igual que o valor (para não ficar com saldo inferior a zero)

Se alguma das condições acima se verificar, fazes o throw da Exception
Se não, atualizas o saldo e fazes return de true.

(O facto deste método ter return era algo desnecessário porque vai sempre retornar true se não ocorrer nenhuma Exception)