Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] desafio Java

olá poderiam me ajudar com os erros apresentados pelo programa?

  1. estou fazendo corretamente a inserção de novos problemas clicando em src e criando nova classe?
  2. quando coloco o comando voice aparece a mensagem illegal star of expression
  3. cliclo na lampada e, ele sugere colocar ";" antes dos parenteses.

segue o print

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Olá, Viviane! Como vai?

O que está causando boa parte dos problemas presentes no seu código, imagino que todos, seja a presença do método main que está envolvendo todos os atributos e métodos da classe Musica.

Para resolver isso você deve apagar a definição desse método da linha 2 e definir ele depois do método pegaMedia. Segue um exemplo de como ficaria:

public class Musica {
    String titulo;
    String artista;
    int anoLancamento;
    double somaDasAvaliacoes;
    int numAvaliacoes;

    void exibeFichaTecnica() {
        System.out.println("**************************");
        System.out.println("Ficha técnica");
        System.out.println("Título da música: " + this.titulo);
        System.out.println("Artista: " + this.artista);
        System.out.println("Ano de lancamento: " + this.anoLancamento);
    }

    void avalia(double nota) {
        somaDasAvaliacoes += nota;
        numAvaliacoes++;
    }

    double pegaMedia() {
        return somaDasAvaliacoes / numAvaliacoes;
    }

    public static void main(String[] args) {
        Musica minhaMusica = new Musica();
        minhaMusica.titulo = "Exemplo";
        minhaMusica.artista = "Artista";
        minhaMusica.anoLancamento = 2022;
        minhaMusica.exibeFichaTecnica();
        minhaMusica.avalia(4.5);
        minhaMusica.avalia(5.0);
        double media = minhaMusica.pegaMedia();
        System.out.println("Média das avaliações: " + media);
    }
}

Dessa forma não será gerado nenhum erro de expressão ilegal como você estava recebendo anteriormente já que os métodos estão seguindo corretamente suas definições e chamadas.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

copiei o seu código e exclui o que fiz em calculadora.

provavelmente algo do meu código em calculadora também devia estar atrapalhando.

obrigada.

vou tentar fazer novamente desde o começo para treinar.