1
resposta

[Dúvida] Cadastro de produtos com validação

Gostaria de saber se essa resolução estar valida.
A ideia central foi proteger o atributo preco contra valores incorretos, como números negativos, garantindo que o objeto esteja sempre em um estado válido.

public class Principal {
    public static void main(String[] args) {
        Cadastro cadastro = new Cadastro(-59.90, "Mouse");
        cadastro.contolePreco();
        System.out.printf("\nProduto: %s \nPreço: %.2f", cadastro.getNome(), cadastro.getPreco());
    }
}
public class Cadastro {
    private String nome;
    private double preco;

    public Cadastro(double preco, String nome) {
        this.preco = preco;
        this.nome = nome;
    }

    public String getNome() {
        return nome;
    }

    public double getPreco() {
        return preco;
    }

    void contolePreco() {
        if (preco <= -0) {
            preco = 0.00;
            System.out.printf("Preço inválido");
        }else {
            System.out.printf("Preço valido");
        }
    }
}
1 resposta

Bom dia, Bruno! Tudo bem?

Sua solução é super valida! Você seguiu uma estrutura muito parecida com o resultado que pensávamos, porém, você adicionou uma qualidade a mais no código.

Ao validar o valor através do método de controlePreco você além de validar o valor negativo você atribuiu um valor zero para que o campo não fique vazio ou negativo.

Meus parabéns pelo seu empenho para a resolução do desafio e espero que continue empenhado assim!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!