1
resposta

[Projeto] Resolução de exercicio mais um complemento de preço final

Classe Produto

package desafio_horapratica_arraylist02.metodos;

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

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

public String getNome() {
    return nome;
}

public double getPreco() {
    return preco;
}

public int getQuantidade() {
    return quantidade;
}

@Override
public String toString() {
    return this.nome + " - Preço R$" + this.preco + " - Quantidade: " + this.quantidade + "\n";
}

}

classe produto perecivel

package desafio_horapratica_arraylist02.metodos;

public class ProdutoPerecivel extends Produto {
private String dataDeValidade;

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

@Override
public String toString() {
    return getNome() + " - Preço R$" + getPreco() + " - Quantidade: " + getQuantidade() + " - Data de validade: " + this.dataDeValidade + "\n";
}

}

classe Main

import desafio_horapratica_arraylist02.metodos.Produto;
import desafio_horapratica_arraylist02.metodos.ProdutoPerecivel;

void main() {
Produto produto1 = new Produto("Pao", 1.50, 3);
Produto produto2 = new Produto("Arroz", 12.50, 1);
Produto produto3 = new Produto("Feijao", 5.30, 2);
ProdutoPerecivel produto4 = new ProdutoPerecivel("iogurte", 4.30, 5, "20-05-2026");

ArrayList<Produto> listaProdutos = new ArrayList<>();
listaProdutos.add(produto1);
listaProdutos.add(produto2);
listaProdutos.add(produto3);
listaProdutos.add(produto4);

System.out.println("Tem " + listaProdutos.size() + " itens na lista");
System.out.println("O segundo item da lista é o " + listaProdutos.get(1).getNome() + "\n");

System.out.println("Carrinho de compras:");
for (int i = 0; i < listaProdutos.toArray().length; i++) {
    System.out.println(listaProdutos.get(i));
}

double somaTotal = 0;
for(Produto valores : listaProdutos){
    somaTotal += valores.getPreco();
}

System.out.println("O preço total é R$" + somaTotal);

}

estou usando o JDK 26

1 resposta

Olá, Arthur! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou a classe para organizar os produtos com Java, utilizou muito bem o método sobrescrito para personalizar a saída e ainda compreendeu a importância da herança para estender funcionalidades de forma prática.

Uma dica interessante para o futuro é trabalhar com o BigDecimal para cálculos monetários, evitando problemas de precisão. Assim:

import java.math.BigDecimal;

BigDecimal preco1 = new BigDecimal("12.50");
BigDecimal preco2 = new BigDecimal("5.30");

BigDecimal soma = preco1.add(preco2);
System.out.println("Total: R$" + soma);

Isso garante maior precisão em operações financeiras.

Conteúdos relacionados

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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