Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

está dando erro no item 12, alguém consegue me dar uma força?

12 - Retorne produtos com preço menor que o valor fornecido ou cujo nome contenha o termo especificado.

Eu coloco um preço, porém ele trás todos os produtos. Eu coloco um nome ele da erro de java.util.InputMismatchException: null

https://github.com/luis13005/Spring-Gerenciador-Pedido/blob/main/demo/src/main/java/com/gerenciadorpedidos/demo/models/Produto.java

na classe Produto, método consulta

1 resposta
solução!

Olá, Luis! Tudo bem?

Seguindo o link que você compartilhou conseguir clonar e testar o código do seu projeto, e o erro que eu estava tendo era quando eu tentava fazer a consulta ao passar um nome e não preço, imagino que isso seja o erro que você comentou.

Ele estava acontecendo que você colocou para a leitura dos dois parâmetros acontecessem ao mesmo tempo, sendo que o preco era o primeiro a ser contabilizado causando um erro ao inserir uma String.

Para resolver isso adicionei um try - catch para verificar o tipo:

    public static void consulta(RepositoryProduto repositoryProduto){
        System.out.println("Escolha a Prço ou o nome: ");
        String nome = null;
        int preco = null;

        String entrada = leitura.nextLine();

        try {
            preco = Double.parseDouble(entrada);
        } catch (NumberFormatException e) {
            nome = entrada; // Se não for um número, assume que é um nome
        }

        List<Produto> produtoList = repositoryProduto.findByPrecoLessThanOrNomeContaining(preco, nome);

        if (produtoList.isEmpty()) {
            System.out.println("Nenhum produto encontrado.");
        } else {
            produtoList.forEach(System.out::println);
        }
    }

No mais, recomendo que use o tipo Double para a variável preco por uma questão de boas práticas.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.