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

Desafio Construtores

Main

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {

        Produto avon = new Produto("Avon Tad", 15,10 );
        Produto saboneteFruFruit = new Produto("Sabonete Frufruit", 10, 20);
        Produto gillete = new Produto("Gillete do Bahiano(LOL)", 15, 20);

        ArrayList<Produto> listaDeProdutos = new ArrayList<>();

        listaDeProdutos.add(avon);
        listaDeProdutos.add(saboneteFruFruit);
        listaDeProdutos.add(gillete);

        System.out.println("Lista de Produtos " + listaDeProdutos.size());
        //System.out.println(listaDeProdutos.get(2).toString());
        System.out.println(listaDeProdutos.toString());

        ProdutosPereciveis arroz = new ProdutosPereciveis("Arroz Tio João", 10, 10, "25/12/2015");
        listaDeProdutos.add(arroz);
        System.out.println("Lista de Produtos Pereciveis " + listaDeProdutos.toString());

    }
}

Produto

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

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

    public String getNome() {
        return nome;
    }

    @Override
    public String toString() {
        return "Produto - " +
                "Nome " + nome +
                " R$" + preco +
                " Quantidade: " + quantidade + "|\n";
    }
}

ProdutosPereciveis

public class ProdutosPereciveis extends Produto {
    private String dataDeValidade;


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

    @Override
    public String toString() {
        return "Produtos Pereciveis |" +
                getNome() +
                "| Data de Validade " + dataDeValidade;
    }
}
1 resposta
solução!

Olá, Pedro. Tudo bem?

Obrigado por compartilhar seu código aqui com a gente.

Muito bom como você organizou a classe Produto e utilizou herança para criar ProdutosPereciveis. Isso deixa o código bem estruturado e facilita a reutilização. Uma dica seria implementar a verificação da validade diretamente na classe ProdutosPereciveis para adicionar mais funcionalidade.

Veja este exemplo de como verificar se um produto está vencido:


import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public boolean estaVencido() {
    LocalDate validade = LocalDate.parse(this.dataDeValidade, DateTimeFormatter.ofPattern("dd/MM/yyyy"));
    return validade.isBefore(LocalDate.now());
}

Com isso, o método estaVencido retornará true se o produto estiver vencido. Você pode utilizá-lo no código para alertar o usuário. Veja se faz sentido.

Conte com o apoio do Fórum. Abraços e bons estudos.