Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] ClassificaçãoPorCategoria

tentei deixar um pouco mais complicado

package br.com.nadson.desafiosc1.modelo;

public class Produto {
    private String nome;
    private double preco;
    private Categorias categoria;


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

    private void definirCategoria() {
        if (preco < 50) {
            this.categoria = Categorias.ECONOMICO;
        } else if (preco <= 200) {  
            this.categoria = Categorias.INTERMEDIARIO;
        } else {
            this.categoria = Categorias.PREMIUM;
        }
    }

    public Categorias getCategoria() {
        return categoria;
    }

    @Override
    public String toString() {
        return String.format(
                "Produto: %s\nPreço: %.2f\nCategoria: %s",
                nome, preco, categoria.getDescricao()
        );


}}

Criei uma classe enum para que ficasse melhor de mostrar as categorias, a mesma classe que usei no desafio anterior

package br.com.nadson.desafiosc1.modelo;

public enum Categorias {
    FICCAO("Ficção"),
    NAO_FICCAO("Não-ficção"),
    TECNOLOGIA("Tecnologia"),
    HISTORIA("História"),

    //----------------------------------------Categoria de produtos-----------------------------------------
    ECONOMICO("Economico"),
    INTERMEDIARIO("INtermediario"),
    PREMIUM("Premium");


    private final String descricao;

    Categorias(String descricao) {
        this.descricao = descricao;
    }

    public String getDescricao() {
        return descricao;
    }
}

e esse é o resultado na classe principal

package br.com.nadson.desafiosc1.pricipal;

import br.com.nadson.desafiosc1.modelo.Produto;

public class ClassificaçãoPorCategoria {
    public static void main(String[] args) {
        Produto produto1=new Produto("Mochila",150);
        System.out.println(produto1);
    }
}
1 resposta
solução!

Olá, Nadson! Como vai?

Sensacional a sua iniciativa de ir além do básico! Utilizar Enums e encapsular a regra de negócio (a lógica do preço) dentro da própria classe Produto é uma prática profissional de Orientação a Objetos. Isso deixa seu código muito mais seguro e fácil de manter.

Parabéns pelo empenho em "complicar" para aprender mais! É assim que se evolui.

Bons estudos!

Sucesso

Imagem da comunidade