1
resposta

[Projeto] RelatorioDoProduto


package br.com.nadson.desafiosc7.modelo;

public class Produto {
    private String nome;
    private int quantidade;
    private double preco;

    public Produto(String nome, double preco, int quantidade) {
        this.nome = nome;
        this.preco = preco;
        this.quantidade = quantidade;
    }

    public double getPreco() {
        return preco;
    }
public double precoTotal() {
        return preco * quantidade;
    }
    public void imprimirRelatorio() {
        String rel = "Produto: " + nome + "\nPreço: " + String.format("R$ %.2f", preco) + "\nQuantidade: " + quantidade;
        System.out.println("-----------------------");
        System.out.println(rel);
    }
}

package br.com.nadson.desafiosc7.principal;

import br.com.nadson.desafiosc7.modelo.Produto;

import java.util.List;


public class RelatorioDoProduto {
    public static void main(String[] args) {
        final List<Produto> produtos = List.of(
                new Produto("Notebook", 3500.00, 10),
                new Produto("Smartphone", 2500.00, 5),
                new Produto("Tablet", 1500.00, 8)
        );
        System.out.println("Relatórios dos Produtos:");

        imprimirRelatorios(produtos);
    }

    private static void imprimirRelatorios(List<Produto> produtos) {
        if (produtos == null || produtos.isEmpty()) {
            System.out.println("Nenhum produto disponível.");
            return;
        }

        produtos.forEach(Produto::imprimirRelatorio);
    }
}
1 resposta

Oi, Nadson! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Seu projeto está bem estruturado, o método imprimirRelatorio() deixa o resultado claro e organizado. Gostei da forma como você criou a lista com List.of() e utilizou a referência de método Produto::imprimirRelatorio, ficou limpo e direto.

Uma dica interessante para o futuro é usar o método map para transformar elementos, caso queira gerar um novo formato de relatório. Veja:


List<String> nomes = produtos.stream().map(p -> p.getNome()).toList();
System.out.println(nomes);

Esse trecho cria uma lista só com os nomes dos produtos e mostra como aproveitar o stream para modificar dados facilmente.

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