Olá, envio meus códigos do desafio. Começo a entender um pouco mais sobre quando criar ou não os getters e setters para os atributos. Com o uso dos construtores fica mais fácil perceber isso. Parece que ficou bem próximo do que o exercício pede.
package br.com.alura.Screenmatch4;
public class Produto {
private String dataDeValidade;
private String nome;
private double preco;
private String quantidade;
public Produto(String nome, String quantidade, double preco, String dataDeValidade) {
this.nome = nome;
this.quantidade = quantidade;
this.preco = preco;
this.dataDeValidade = dataDeValidade;
}
public String getNome() {
return nome;
}
public double getPreco() {
return preco;
}
public String getQuantidade() {
return quantidade;
}
public String getDataDeValidade() {
return dataDeValidade;
}
public void setDataDeValidade(String dataDeValidade) {
this.dataDeValidade = dataDeValidade;
}
@Override
public String toString() {
return "Produto: " + this.getQuantidade() + " de " + this.getNome() + " com o preço do kg de R$ " + this.getPreco() + " e a validade é " + this.getDataDeValidade();
}}
package br.com.alura.Screenmatch4;
public class ProdutoPerecivel extends Produto {
private String dataDeValidade;
public ProdutoPerecivel(String nome, String quantidade, double preco,String dataDeValidade) {
super(nome, quantidade, preco, dataDeValidade);
}
public String getDataDeValidade() {
return dataDeValidade;
}
public void setDataDeValidade(String dataDeValidade) {
this.dataDeValidade = dataDeValidade;
} }
import br.com.alura.Screenmatch4.Produto;
import java.util.ArrayList;
public class COPrincipal {
public static void main(String[] args) {
Produto produtoUm = new Produto("uva", "5 kg", 9.00, "1.6.24");
Produto produtoDois = new Produto("banana", "6 kg", 7.00,"6.6.24");
Produto produtoTres = new Produto("abacaxi", "3 kg", 6.00, "2.6.24");
Produto produtoQuatro = new Produto("mamão", "4 kg", 5.00, "4.6.24");
Produto produtoCinco = new Produto("maçã", "6 kg", 8.00, "3.6.24");
ArrayList <Produto> listaProdutos = new ArrayList<>();
listaProdutos.add(produtoUm);
listaProdutos.add(produtoDois);
listaProdutos.add(produtoTres);
listaProdutos.add(produtoQuatro);
listaProdutos.add(produtoCinco);
System.out.println(listaProdutos);
System.out.println("A lista tem " + listaProdutos.size() + " produtos.");
System.out.println(listaProdutos.get(0).toString());
System.out.println(listaProdutos.get(1).toString());
System.out.println(listaProdutos.get(2).toString());
System.out.println(listaProdutos.get(3).toString());
System.out.println(listaProdutos.get(4).toString());
System.out.println("O produto três é: " + listaProdutos.get(2).getNome());
System.out.println("A lista mostra a data de validade de " + listaProdutos.size() + " produtos. ");
}
}
RESULTADO DA COMPILAÇÃO:
"C:\Program Files\Java\jdk-17\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023.3.6\lib\idea_rt.jar=58123:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023.3.6\bin" -Dfile.encoding=UTF-8 -classpath C:\programa\COPrincipal\out\production\COPrincipal COPrincipal
[Produto: 5 kg de uva com o preço do kg de R$ 9.0 e a validade é 1.6.24, Produto: 6 kg de banana com o preço do kg de R$ 7.0 e a validade é 6.6.24, Produto: 3 kg de abacaxi com o preço do kg de R$ 6.0 e a validade é 2.6.24, Produto: 4 kg de mamão com o preço do kg de R$ 5.0 e a validade é 4.6.24, Produto: 6 kg de maçã com o preço do kg de R$ 8.0 e a validade é 3.6.24]
A lista tem 5 produtos.
Produto: 5 kg de uva com o preço do kg de R$ 9.0 e a validade é 1.6.24
Produto: 6 kg de banana com o preço do kg de R$ 7.0 e a validade é 6.6.24
Produto: 3 kg de abacaxi com o preço do kg de R$ 6.0 e a validade é 2.6.24
Produto: 4 kg de mamão com o preço do kg de R$ 5.0 e a validade é 4.6.24
Produto: 6 kg de maçã com o preço do kg de R$ 8.0 e a validade é 3.6.24
O produto três é: abacaxi
A lista mostra a data de validade de 5 produtos.
Process finished with exit code 0