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

[Prática] Desafio: hora da prática

1- 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.

public class Producto {
    private String nombre;
    private double precio;
    private int cantidad;

    public Producto(String nombre, double precio, int cantidad) {
        this.nombre = nombre;
        this.precio = precio;
        this.cantidad = cantidad;
    }

    public Producto() {

    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public double getPrecio() {
        return precio;
    }

    public void setPrecio(double precio) {
        this.precio = precio;
    }

    public int getCantidad() {
        return cantidad;
    }

    public void setCantidad(int cantidad) {
        this.cantidad = cantidad;
    }

main

        var producto = new Producto();
        producto.setNombre("Manzana");
        producto.setPrecio(4.6);
        producto.setCantidad(5);

        var producto1 = new Producto();
        producto1.setNombre("Platano");
        producto1.setPrecio(5.7);
        producto1.setCantidad(8);

        var producto2 = new Producto();
        producto2.setNombre("Uva");
        producto2.setPrecio(3.5);
        producto2.setCantidad(40);

        ArrayList<Producto> listaProducto = new ArrayList<>();
        listaProducto.add(producto);
        listaProducto.add(producto1);
        listaProducto.add(producto2);
        System.out.println("Cantidad de productos: " + listaProducto.size());
        System.out.println("Último producto: " + listaProducto.get(2).getNombre());
        System.out.println(listaProducto);

2- 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().

    @Override
    public String toString() {
        return "\n Producto: " + getNombre() + " Precio: " + getPrecio() + " Cantidad: " + getCantidad();
    }
  1. 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.

main

 var producto = new Producto("Manzana", 4.6, 5);
        var producto1 = new Producto("Platano", 5.7, 8);
        var producto2 = new Producto("Uva", 3.5, 40);

//
        ArrayList<Producto> listaProducto = new ArrayList<>();
        listaProducto.add(producto);
        listaProducto.add(producto1);
        listaProducto.add(producto2);


        System.out.println("Cantidad de productos: " + listaProducto.size());
        System.out.println("Último producto: " + listaProducto.get(2).getNombre());

        System.out.println(listaProducto);

class Producto

   public Producto(String nombre, double precio, int cantidad) {
        this.nombre = nombre;
        this.precio = precio;
        this.cantidad = cantidad;
    }
  1. 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.

Class ProductoPerecedero

public class ProductoPerecedero extends Producto {
    private String dataValidade;


    public ProductoPerecedero(String nombre, double precio, int cantidad, String dataValidade) {
        super(nombre, precio, cantidad);
        this.dataValidade = dataValidade;
    }

    public String getDataValidade() {
        return dataValidade;
    }

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

    @Override
    public String toString() {
        return "\nProducto: " + getNombre() + " Precio: " + getPrecio() + " Cantidad: " + getCantidad() + " Fecha Perecedera: " + getDataValidade()
                ;
    }
}

MAIN

        var productoPer = new ProductoPerecedero("Mango", 4.6, 5, "03/05/2014");
        System.out.println("Heredar Producto con fecha perecedera: " + productoPer);
2 respostas
solução!

Olá, Ana. Tudo bem?

Muito obrigado por compartilhar o seu código aqui com a gente. Parabéns pelo trabalho. Continue com essa dedicação.

Seu código está muito bem organizado! A separação clara das classes e a utilização da herança para criar a ProdutoPerecedero chamam atenção. Isso mostra que você está aplicando bem os conceitos de orientação a objetos.

Uma dica interessante para o futuro é usar o método contains da ArrayList para verificar se um produto já existe na lista antes de adicionar. Veja este exemplo:


ArrayList<String> frutas = new ArrayList<>();
frutas.add("Maçã");
if (!frutas.contains("Banana")) {
    frutas.add("Banana");
}
System.out.println(frutas);

Esse código evita adicionar itens duplicados na lista.

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

Olá Renan,

Muito obrigada pelo ótimo conselho, vou mantê-lo em mente.

Um abraço