4
respostas

Rejeitar conta com número negativo (com construtor)

Olá pessoal. Boa tarde, eu entendi o conteúdo e tentei fazer uma pequena brincadeira:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeEu queria exigir que número digitado na criação do objeto conta fosse positivo: Insira aqui a descrição dessa imagem para ajudar na acessibilidadeEu gostaria já na criação do objeto conta em "new conta" rejeitasse o valor negativo e não compilasse. Por exemplo, já que não compila se eu colocar uma string ou deixar vazio, por que compila (e seta como 0) quando eu coloco um número negativo?

4 respostas

Você pode lançar uma Exception exemplo:

if(agencia > 0 && numero > 0){ ... }else{ throw new RuntimeException("O número precisa ser maior que zero"); }

É que eu não cheguei nessa parte ainda. Sem trabalhar com exceptions, seria possível haver essa rejeição de compilação?

Não, outras soluções seriam:

  • instanciar condicionalmente, onde o if seria a condição fora da classe para decidir atribuir Conta conta = new Conta(agencia,numero) ou não.
  • Usar objetos Integer no lugar do tipo primitivo int e então os valores de agencia e numero seriam null e não 0

Entendi. Obrigado pelo retorno Breno. :D