1
resposta

[Dúvida] Dúvida quanto a um método

Meu metodo "avalia" não está somando a nota e quando passado em loop ele vem zerado em cada loop.

package br.com.lsmusic.modelos.play.principal;

public class Principais {
    //private Scanner leitura = new Scanner(System.in);
    private String nome;
    private int anoLancamento;
    private int somaAvaliacoes;
    private double totalVisualizacoes;
    private double tempoDuracao;

    public void avalia(int nota) {
        somaAvaliacoes += nota;
        totalVisualizacoes++;
        System.out.println(nota);
    }

    public double media() {
        return somaAvaliacoes / totalVisualizacoes;
    }

O loop esta ocorrendo aqui:

import br.com.lsmusic.modelos.play.principal.Musicas;
import br.com.lsmusic.modelos.play.principal.Podcast;
import br.com.lsmusic.modelos.play.principal.Principais;
import br.com.lsmusic.modelos.play.principal.Usuarios;

import java.util.Scanner;
import java.util.function.DoubleFunction;

                        int contador = 1;
                        while (contador <= (int) cadastroMusica.getTotalVisualizacoes()) {
                            Principais avaliacaoMusica = new Principais();
                            System.out.printf("Qual a nota " + contador + " voce da para esta musica? (0 a 10): ");
                            avaliacaoMusica.avalia(leitor.nextInt());
                            contador++;
                        }
                        leitor.nextLine();
                        System.out.println("");
                        cadastroMusica.fichaMusica();

E o código que puxa a média esta assim:

public void fichaMusica() {
        System.out.println("O nome da musica e: " + getNome());
        System.out.println("A duracao da musica e de: " + getTempoDuracao());
        System.out.println("O nome do(a) cantor(a) e: " + getNomeCantor());
        System.out.println("O ano de lancamento da musica e de: " + getAnoLancamento());
        System.out.println("A media de avaliacao foi de " + media());
        System.out.println("O total de visualizacoes foi de: " + getTotalVisualizacoes());
    }

A "média" vem zerada, por algum motivo que não consegui descobrir.

Link do projeto no github: https://github.com/leosilka/projetoAudioVideo

Não sei se expliquei bem, desculpe-me.

1 resposta

Oi Leonardo! Tudo bem?

Baixei seu projeto do GitHub e ele parece ter rodado do jeito esperado. Conseguiu resolver?

Qualquer dúvida, estou à disposição.

Abraços e bons estudos!