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.