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?

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
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