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

[Projeto] CadastroDeLivros

deixei um pouco mais complicado

package br.com.nadson.desafiosc1.modelo;

public class Livro {
    private String titulo;
    private String autor;
    private int paginas;
    private double preco;
    private Categorias categoria;

    public Livro(String titulo, String autor, char tipo) {
        this.titulo = titulo;
        this.autor = autor;
        this.categoria = validarCategoria(tipo);
    }

    public void setPaginas(int paginas) {
        this.paginas = paginas;
    }

    public void setPreco(double preco) {
        this.preco = preco;
    }

    private Categorias validarCategoria(char tipo) {
        tipo = Character.toUpperCase(tipo);

        return switch (tipo) {
            case 'F' -> Categorias.FICCAO;
            case 'N' -> Categorias.NAO_FICCAO;
            case 'T' -> Categorias.TECNOLOGIA;
            case 'H' -> Categorias.HISTORIA;
            default -> throw new IllegalArgumentException("Categoria inválida. Use F, N, T ou H.");
        };



    }

    @Override
    public String toString() {
        return String.format(
                "Título: %s%n" +
                        "Autor: %s%n" +
                        "Páginas: %d%n" +
                        "Preço: R$ %.2f%n" +
                        "Categoria: %s",
                titulo,
                autor,
                paginas,
                preco,
                categoria.getDescricao());
    }

}

criei uma enum pra facilitar na verificação, essa classe foi reutilizada em outro desafio

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 a classe pricipal ficou assim

package br.com.nadson.desafiosc1.pricipal;

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

public class CadastroDeLivros {
    public static void main(String[] args) {
        Livro livro=new Livro("O Pequeno Príncipe", "Antoine de Saint-Exupéry", 'f');
        livro.setPaginas(96);
        livro.setPreco(39.9);
        System.out.println(livro);
    }
}
1 resposta
solução!

Olá, Nadson! Como vai?

Mais uma vez, parabéns pela iniciativa de aprofundar os conhecimentos! O seu código demonstra práticas muito maduras de programação.

Conte sempre com a Alura para evoluir seus estudos.

Bons estudos!

Sucesso

Imagem da comunidade