Olá,segue a resolucao do desafio com a temática produtos eletrônicos com preços,garantias e garantias extendidas
Produto
/*@thiagotensai God is Good!*/
//Pacote Produto
package Produto;
//Biblioteca Array List
import java.util.ArrayList;
//Biblioteca Collections
import java.util.Collections;
//Biblioteca Comparator
import java.util.Comparator;
//Biblioteca Number Format
import java.text.NumberFormat;
//Biblioteca Locale
import java.util.Locale;
/*Programa cria lista de produtos;
_Conta quantos itens tem na lista;
_Mostra a garantia dos produtos;
_Inclui novo produto com garantia extendida;
_Ordena preços do maior para o menor;
*/
//Classe Produto
public class Produto {
/*ENCAPSULAMENTO
_get
_set
*/
private String nome;//private string
private double preco;//private double
private int quantidade;//private int
private int garantia;//private int
//Locale Monetário Brasileiro
static Locale brasil = new Locale("pt", "BR");
//Formatação Monetária Brasileira
static NumberFormat moeda =
NumberFormat.getCurrencyInstance(brasil);
//Construtor (this)
public Produto(
String nome,//string
double preco,//double
int quantidade,//int
int garantia) //int
{
this.nome = nome;//objeto nome
this.preco = preco;//objeto preco
this.quantidade = quantidade;//objeto quantidade
this.garantia = garantia;//objeto garantia
}
/*----GETTERS_Traz valor-------*/
//Método Traz Nome
public String getNome() {
return nome;
}
//Método Traz Preço
public double getPreco() {
return preco;
}
//Método Traz Quantidade
public int getQuantidade() {
return quantidade;
}
//Método Traz Garantia
public int getGarantia() {
return garantia;
}
/*-------SETTERS_Inclui valor----- */
//Construtor (this)
//Método Inclui Nome
public void setNome(String nome) {
this.nome = nome;//objeto nome
}
//Método Inclui Preço
public void setPreco(double preco) {
this.preco = preco;//objeto preco
}
//Método Inclui Quantidade
public void setQuantidade(int quantidade) {
this.quantidade = quantidade;//objeto quantidade
}
//Método Inclui Garantia
public void setGarantia(int garantia) {
this.garantia = garantia;//objeto garantia
}
//Método verifica Garantia
public String verificarGarantia(int anosDeUso) {
if (anosDeUso > garantia) {
return "Fora de garantia";
} else {
return "Está em garantia";
}
}
/*----------------------------------------------------*/
/*@Override-Um método está sobrescrevendo o mesmo método definido na sua classe mãe.*/
@Override
//toString-Retornar uma representação em texto do objeto
public String toString() {
return "Produto [Nome: " + nome +
", Preço: " + moeda.format(preco) +
", Quantidade: " + quantidade +
", Garantia: " + garantia + " anos]";
}
//Classe Main
public static void main(String[] args) {
//Locale Padrão Monetário Brasileiro
Locale.setDefault(new Locale("pt", "BR"));
//Lista de Produtos
ArrayList<Produto> listaProdutos =
new ArrayList<>();
//new-Referência a um objeto ram
Produto ram = new Produto(
"Pente de memória RAM Asgard Valkyrie",
1499.99,
2,
1);
//new-Referência a um objeto smartphone
Produto smartphone = new Produto(
"Smartphone Iphone 17 Pro Max (2026)",
14999.99,
1,
5);
//new-Referência a um objeto notebook
Produto notebook = new Produto(
"Notebook Asus ROG Strix SCAR 18 (2025) G835",
49499.10,
1,
6);
//new-Referência a um objeto teclado
Produto teclado = new Produto(
"Teclado Portátil sem fio touchpad",
359.99,
1,
2);
//new-Referência a um objeto mouse com garantia
Garantia mouse = new Garantia(
"Mouse Gamer RGB",
250.00,
1,
2,
2);