1
resposta

Desafio: hora da prática

import java.util.ArrayList;

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 void setNome(String nome) {
        this.nome = nome;
    }

    public int getQuantidade() {
        return quantidade;
    }

    public void setQuantidade(int quantidade) {
        this.quantidade = quantidade;
    }

    public double getPreco() {
        return preco;
    }

    public void setPreco(double preco) {
        this.preco = preco;
    }
    @Override
    public String toString() {
        return "Produto [nome=" + nome + ", preco=" + preco + ", quantidade=" + quantidade + "]";
    }
}
public class ProdutoPerecivel extends Produto {
    private int dataDeValidade;

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

    public int getDataDeValidade() {
        return dataDeValidade;
    }
    public void setDataDeValidade(int dataDeValidade) {
        this.dataDeValidade = dataDeValidade;
    }
}
import org.w3c.dom.ls.LSOutput;

import java.util.ArrayList;

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

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

        Produto mouse = new Produto("mouse", 250, 50);
        Produto teclado = new Produto("teclado",400 , 50);
        Produto monitor = new Produto("monitor", 700, 25);

        produtos.add(mouse);
        produtos.add(teclado);
        produtos.add(monitor);

        System.out.println("Tamanho da lista: " + produtos.size());
        System.out.println("Produto na posição 0: " + produtos.get(0).getNome());

        for  (Produto produto : produtos) {
            System.out.println(produto);
        }
        Produto produtonovo = new Produto("Mousepad", 50, 100);
        System.out.println(produtonovo);

        ProdutoPerecivel produtoperecivel = new ProdutoPerecivel("Energético", 12, 100, 2027-12-31);
        System.out.println(produtoperecivel);
    }
}
1 resposta

Olá, Luan, como vai?

Seu exercício está bem alinhado com o que foi proposto no desafio e mostra que você compreendeu conceitos importantes como criação de classes, uso de construtores, ArrayList, sobrescrita do toString e herança. A organização do código facilita bastante a leitura e o entendimento.

Um ponto importante é o uso do valor 2027-12-31 para dataDeValidade. Como o atributo é int, essa expressão acaba sendo interpretada como uma operação matemática, resultando em um valor inesperado.

Obrigado por compartilhar sua solução e fique à vontade para continuar trazendo suas implementações e dúvidas no fórum, que está sempre à disposição.

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