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

Estou com dificuldades na Aula 4

a explicação do video esta muito simples, mesmo copiando o exercicio que o professor esta fazendo na video aula esta dando erro.

o erro e esse: error: cannot find symbol

  fj11.alunos[1].nome = "Marcelo";
          ^
vem essa seta apontado para o ponto.
o codigo.

class Notas{
    Aluno[] notas;

    void imprimeNota() {
        for(int i = 0; i < this.notas.length; i++){
            System.out.println(this.notas[i]);
        }
    }
}

class Aluno {
    String nome;
    int nota;
}
class TesteTurma{
    public static void main(String [] args){
        Notas fj11 = new Notas();
        fj11.alunos = new Aluno[10];

        fj11.alunos[0].nome = "Mauricio";
        fj11.alunos[0].nota = 9;

        fj11.alunos[1].nome = "Marcelo";
        fj11.alunos[1].nota = 7;

        fj11.imprimeNotas();
    }
}
3 respostas

Olá Mauricio, tudo bem ?

Então cara, vamos analisar as coisas ai beleza ?

O problema que está acontecendo é que ele não está encontrando o atributo.. vamos entender o porquê disso :

Em sua classe Notas, olha só o que temos :

class Notas{
    Aluno[] notas;

    void imprimeNota() {
        for(int i = 0; i < this.notas.length; i++){
            System.out.println(this.notas[i]);
    }
 }

Você criou um vetor, ou array, de Aluno, e o chamou de notas.

Agora quando você está executando seu código :

class TesteTurma{
    public static void main(String [] args){
        Notas fj11 = new Notas();
        fj11.alunos = new Aluno[10];

        fj11.alunos[0].nome = "Mauricio";
        fj11.alunos[0].nota = 9;

        fj11.alunos[1].nome = "Marcelo";
        fj11.alunos[1].nota = 7;

        fj11.imprimeNotas();
    }
}

Repare no que você está fazendo, você cria seu objeto Notas e chama a referencia de fj11, correto ? E logo em seguida você tenta acessar a propriedade alunos do seu objeto Notas, como você definiu o atributo em sua classe como notas ele não consegue encontrar, o que está gerando este probleminha ai.

Só corrigir isso que tudo vai dar certo

Espero ter ajudado.

Abraços

Maurício conseguiu entender? É só porque no teu método main tu tá chamando alunos e em nenhum momento alunos foi criado. O que foi criado foi notas. Tu precisa mudar teu array de aluno chamando-o de aluno lá na classe nota e isso vai rser solver teu problema. Se tiver ficado qualquer duvIda pode perguntar de novo :)

solução!

Oi Mauricio, se a dúvida continuar é só pedir ajuda. :D