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