1
resposta

[Projeto] Resolução

Abaixo minha resolução, como envolvia a mesma classe, deixei os comentários, caso precisar, para falar sobre qual exercício ele se refere

Classe Produto

package Exercicios_Dados.Aula_2.Models;

public class Produto {

    private String nome;
    private double preco;
    private int quantidade;

    // Exercício 3
    public Produto(String nome, double preco, int quantidade){

        this.nome = nome;
        this.preco = preco;
        this.quantidade = quantidade;
    }

    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;
    }

    // Exercício 2
    @Override
    public String toString() {
        return "Produto: " + nome + ", Preço: " + preco + ", Quantidade em estoque: " + quantidade;
    }
}

Classe ProdutoPerecivel

package Exercicios_Dados.Aula_2.Models;

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() {
        return super.toString() + ", Data de validade: " + dataValidade;
    }
}

MainExercicio

package Exercicios_Dados.Aula_2;

import Exercicios_Dados.Aula_2.Models.*;

import java.util.ArrayList;

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

        System.out.println("********** Exercício 1/3 **********");
        ArrayList<Produto> produtos = new ArrayList<Produto>();
        
        produtos.add(new Produto("TV", 1700.00, 10));
        produtos.add(new Produto("Notebook", 3200.00, 5));
        produtos.add(new Produto("Tablet", 970.00, 2));
        produtos.add(new Produto("Smartphone", 1500.00, 7));
        
        System.out.println("Tamanho da lista: " + produtos.size());
        System.out.println("Produto na posição 2: " + produtos.get(1).getNome());

        System.out.println("\n********** Exercício 2 **********");
        for (Produto produto : produtos) {
            System.out.println(produto);
        }

        System.out.println("\n********** Exercício 4 **********");
        produtos.add(new ProdutoPerecivel("Leite", 2.50, 10, "01/03/2025"));
        produtos.add(new ProdutoPerecivel("Carne", 25.00, 5, "15/02/2025"));
        produtos.add(new ProdutoPerecivel("Peixe", 15.00, 2, "20/02/2025"));
        
        // Imprimindo apenas os produtos perecíveis
        for (Produto produto : produtos) {
            if (produto instanceof ProdutoPerecivel) {
                System.out.println(produto);
            }
        }
        
    }
}
1 resposta

Oi, Gabriel! Tudo bem?

Parabéns pelo código bem estruturado e que atende aos requisitos dos exercícios propostos! Caso tenha restado alguma dúvida em relação a qualquer conteúdo do curso ou atividade, não hesite em perguntar, estou disponível e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!