2
respostas

Problema no projeto, referente a duracaoEmMinutos das series, quando tento inserir no exibeFichaTecnica.

Boa tarde!

No modelo apresentado em "Opinião do Instrutor" foi inserido novos Títulos, bem como complementado a "a exibição da ficha tecnica" adicionando duração em minutos.

public void exibeFichaTecnica() {
        System.out.println(“Nome do filme: “ +nome);
        System.out.println(“Ano de lançamento: “ +anoDeLancamento);
        System.out.println(“Duração em minutos: “ +duracaoEmMinutos);
        System.out.println(“Incluído no plano: “ +incluidoNoPlano);
    }

Ocorre que ao rodar o projeto o duração em minutos das series vem zerado, não realizando o calculo modificado na classe Serie.

@Override
    public int getDuracaoEmMinutos() {
        return temporadas * episodiosPorTemporada * minutosPorEpisodio;

    }

Ao realizar "sout" diretamente na classe principal o mesmo problema não ocorre.

Serie serie = new Serie();
        serie.setNome("La Casa de Papel");
        serie.setAnoDeLancamento(2017);
        serie.setIncluidoNoPlano(true);
        serie.setAtiva(true);
        serie.setTemporadas(5);
        serie.setEpisodiosPorTemporada(10);
        serie.setMinutosPorEpisodio(45);
        serie.exibeFichaTecnica();
        System.out.println(serie.getDuracaoEmMinutos());
Nome do Titulo: La Casa de Papel
Ano de lançamento: 2017
Duração em minutos: 0
Incluído no plano: true
Duração em minutos 2250

Não sei se ficou bem claro a minha duvida ou a explanação.

2 respostas

Na sequencia apareceu o "casting", e foi a solução que encontrei, não sei se seria a mais correta.

public void exibeFichaTecnica() {
        System.out.println("Nome do Titulo: " + nome);
        System.out.println("Ano de lançamento: " + anoDeLancamento);
        System.out.println("Duração em minutos: " + (int) getDuracaoEmMinutos());
        System.out.println("Incluído no plano: " + incluidoNoPlano);
        System.out.println("\n");

    }
Nome do Titulo: La Casa de Papel
Ano de lançamento: 2017
Duração em minutos: 2250
Incluído no plano: true

Olá, Lucas.

Tudo bem?

Entendi a sua pergunta. Parece que o problema estava relacionado à exibição da duração em minutos nas séries quando você chamava o método exibeFichaTecnica(). A solução que você encontrou, ao chamar (int) getDuracaoEmMinutos(), parece ter resolvido o problema, pois agora a duração é exibida corretamente.

A razão pela qual isso funcionou é que você está chamando o método getDuracaoEmMinutos() diretamente na impressão, forçando a conversão do resultado para int. Isso garante que a duração seja calculada corretamente a partir do método getDuracaoEmMinutos() antes de ser impressa na tela.

Essa abordagem é válida, e você pode usá-la para garantir que a duração seja exibida corretamente em minutos.

Espero ter ajudado. Qualquer dúvida manda aqui. Valeu.