package br.com.exercicio.produto.model;
import java.text.DecimalFormat;
public class Produto {
private String nome;
private double preco;
private int quantidade;
// construtor vazio
public Produto() {
}
// construtor
public Produto(String nome, double preco, int quantidade) {
this.nome = nome;
this.preco = preco;
this.quantidade = quantidade;
}
// getters e setters
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public double getPreco() {
return preco;
}
public void setPreco(double preco) {
this.preco = preco;
}
public int getQuantidade() {
return quantidade;
}
public void setQuantidade(int quantidade) {
this.quantidade = quantidade;
}
@Override
public String toString() {
DecimalFormat df = new DecimalFormat("####.00");
String precoFromatado = df.format(this.getPreco());
return "Produto: " + this.getNome() + " | Preço: R$" + precoFromatado + " | Quantidade: " + this.getQuantidade();
}
}
package br.com.exercicio.produto.model;
import java.text.DecimalFormat;
import java.time.LocalDate;
public class ProdutoPerecivel extends Produto{
private String dataValidade;
public ProdutoPerecivel(String nome, double preco, int quantidade, String dataValidade) {
super(nome, preco, quantidade);
this.dataValidade = dataValidade;
}
public String getDataValidade() {
return dataValidade;
}
@Override
public String toString() {
DecimalFormat df1 = new DecimalFormat("####.00");
String precoFromatado1 = df1.format(this.getPreco());
return "Produto: " + this.getNome() + " | Preço: R$" + precoFromatado1 + " | Quantidade: " + this.getQuantidade() + " | Validade: " + this.getDataValidade();
}
}
package br.com.exercicio.produto.principal;
import br.com.exercicio.produto.model.Produto;
import br.com.exercicio.produto.model.ProdutoPerecivel;
import java.util.ArrayList;
public class Principal {
public static void main(String[] args) {
Produto produto = new Produto();
produto.setNome("Impressora");
produto.setPreco(900.00);
produto.setQuantidade(1);
Produto produto1 = new Produto("Notebook", 2500.00, 2);
Produto produto2 = new Produto("Celular", 1500.00, 3);
Produto produto3 = new Produto("Televisão", 3000.00, 2);
ProdutoPerecivel produtoPerecivel = new ProdutoPerecivel("Carne", 40.00, 2, "30/11/2025");
ArrayList<Produto> listaDeProdutos = new ArrayList<>();
listaDeProdutos.add(produtoPerecivel);
listaDeProdutos.add(produto);
listaDeProdutos.add(produto1);
listaDeProdutos.add(produto2);
listaDeProdutos.add(produto3);
System.out.println("Tamanho da lista: " + listaDeProdutos.size());
System.out.println("Segundo produto da lista: " + listaDeProdutos.get(1));
for (Produto p : listaDeProdutos) {
System.out.println(p);
}
}
}
Saída:
Tamanho da lista: 5
Segundo produto da lista: Produto: Impressora | Preço: R$900,00 | Quantidade: 1
Produto: Carne | Preço: R$40,00 | Quantidade: 2 | Validade: 30/11/2025
Produto: Impressora | Preço: R$900,00 | Quantidade: 1
Produto: Notebook | Preço: R$2500,00 | Quantidade: 2
Produto: Celular | Preço: R$1500,00 | Quantidade: 3
Produto: Televisão | Preço: R$3000,00 | Quantidade: 2