Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Minha Solução] Desafio Criar Classe Produto Construtores

Crie uma classe Produto com atributos como nome, preco, e quantidade. Em seguida, crie uma lista de objetos Produto utilizando a classe ArrayList. Adicione alguns produtos, imprima o tamanho da lista e recupere um produto pelo índice. Implemente o método toString() na classe Produto para retornar uma representação em texto do objeto. Em seguida, imprima a lista de produtos utilizando o método System.out.println(). Modifique a classe Produto para incluir um construtor que aceite parâmetros para inicializar os atributos. Em seguida, crie objetos Produto utilizando esse novo construtor. Crie uma classe ProdutoPerecivel que herde de Produto. Adicione um atributo dataValidade e um construtor que utilize o construtor da classe mãe (super) para inicializar os atributos herdados. Crie um objeto ProdutoPerecivel e imprima seus valores.


import java.util.ArrayList;
import java.util.Scanner;

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

    Scanner sc = new Scanner(System.in);
    ArrayList<String> nomeProduto = new ArrayList<>();
    ArrayList<Double> precoProduto = new ArrayList<>();
    ArrayList<Integer> quantidadeProduto = new ArrayList<>();

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

    @Override
    public String toString() {
        return "Nome Produto: " + nomeProduto.toString() + " - " + "Preço: " + precoProduto.toString()
                + " - " + " Quantidade em estoque: " + quantidadeProduto.toString();
    }

    public void adicionaProdutos() {
        System.out.println("===== ADICIONA PRODUTOS =====");
        for (int i = 0; i < 2; i++) {
            System.out.println("Insira o nome do produto: ");
            this.setNome(sc.next());
            nomeProduto.add(this.getNome());
            System.out.println("Insira o preço do Produto: ");
            this.setPreco(sc.nextDouble());
            precoProduto.add(this.getPreco());
            System.out.println("Insira a quantidade: ");
            this.setQuantidade(sc.nextInt());
            quantidadeProduto.add(this.getQuantidade());
        }
        for (int i = 0; i < nomeProduto.size(); i++) {
            System.out.println(i + " - " + "Nome: " + nomeProduto.get(i).toString() + " - " +
                    "Preço: " + precoProduto.get(i).toString() + " - " +
                    "Quantidade: " + quantidadeProduto.get(i).toString());
        }
        System.out.println("\n===== Tamanho da Lista: =====");
        System.out.println("Nome Produto: " + nomeProduto.size());
        System.out.println("Preço Produto: " + precoProduto.size());
        System.out.println("Quantidade Produto: " + quantidadeProduto.size());
        System.out.println("\n===== RECUPERANDO PRODUTO PELO INDICE =====");
        System.out.println("Recuperando primeiro Produto da lista: " + nomeProduto.get(0));
    }

    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;
    }
}
3 respostas
import java.util.ArrayList;
import java.util.Scanner;

public class ProdutoPerecivel extends Produto {
    private String dataValidade;

    Scanner sc = new Scanner(System.in);
    ArrayList<String> dataPerecivel = new ArrayList<>();

    public String toString() {
        return "Nome Produto: " + nomeProduto.toString() + " - " + "Preço: " + precoProduto.toString()
                + " - " + " Quantidade em estoque: " + quantidadeProduto.toString()
                + " - " + " Data Validade: " + dataPerecivel.toString();
    }

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

    public void produtoPerecivel() {
        for (int i = 0; i < 2; i++) {
            System.out.println("Insira o nome do produto: ");
            this.setNome(sc.next());
            nomeProduto.add(this.getNome());
            System.out.println("Insira o preço do Produto: ");
            this.setPreco(sc.nextDouble());
            precoProduto.add(this.getPreco());
            System.out.println("Insira a quantidade: ");
            this.setQuantidade(sc.nextInt());
            quantidadeProduto.add(this.getQuantidade());
            System.out.println("===== PRODUTO PERECIVEL =====");
            System.out.println("Insira a data do produto perecível: ");
            this.setDataValidade(sc.next());
            System.out.println(dataValidade);
            dataPerecivel.add(this.getDataValidade());
        }
        for (int i = 0; i < nomeProduto.size(); i++) {
            System.out.println("Nome: " + nomeProduto.get(i).toString() + " - " +
                    "Preço: " + precoProduto.get(i).toString() + " - " +
                    "Quantidade: " + quantidadeProduto.get(i).toString() + " - " +
                    "Data Validade " + dataPerecivel.get(i).toString());
        }
        System.out.println("\n===== Tamanho da Lista: =====");
        System.out.println("Nome Produto: " + nomeProduto.size());
        System.out.println("Preço Produto: " + precoProduto.size());
        System.out.println("Quantidade Produto: " + quantidadeProduto.size());
        System.out.println("\n===== RECUPERANDO PRODUTO PELO INDICE =====");
        System.out.println("Recuperando primeiro Produto da lista: " + nomeProduto.get(0));
    }

    public String getDataValidade() {
        return dataValidade;
    }

    public void setDataValidade(String dataValidade) {
        this.dataValidade = dataValidade;
    }
}

public class Principal {
    public static void main(String[] args) {        
        Produto produto = new Produto("",0,0);
        produto.adicionaProdutos();
        ProdutoPerecivel perecivel = new ProdutoPerecivel("", 0, 0, "");
        perecivel.produtoPerecivel();
    }
}

Execução Produtos:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade


Execução Produto Perecível:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Oi, Carlos! Tudo bem?

Parabéns por ter chegado até aqui no desafio! Espero que esteja gostando do curso! Caso tenha ficado alguma dúvida em relação ao curso ou atividade, sinta-se à vontade em comunicar, estou à disposição e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!

for (int i = 0; i < nomeProduto.size(); i++) { System.out.println(i + " - " + "Nome: " + nomeProduto.get(i) + " - " + "Preço: " + precoProduto.get(i) + " - " + "Quantidade: " + quantidadeProduto.get(i)); } //