Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Suspended Aluno.<init>(String, int)

Meu código está exatamente igual, mas estava dando o seguinte erro: Thread [main] (Suspended (exception NullPointerException)) Aluno.(String, int) line: 9 TestaBuscaAlunosNoCurso.main(String[]) line: 12

desabilitei a suspensão da exception e deu outro erro: Thread [main] (Suspended) Aluno.(String, int) line: 7 >

Não é a primeira vez que ocorre isso comigo. Ocorreu com outra Exception relacionada a Threads. Qual é a possível causa desses erros?

public class TestaBuscaAlunosNoCurso {

    public static void main(String[] args) {
        Curso javaColecoes = new Curso("Dominando as coleções do java", "Paulo Silveira");

        javaColecoes.adiciona(new Aula("Trabalhando com ArrayList", 21));
        javaColecoes.adiciona(new Aula("Criando uma aula", 20));
        javaColecoes.adiciona(new Aula("Modelando com coleções", 24));

        Aluno a1 = new Aluno ("Rodrigo Turini", 34672);
        Aluno a2 = new Aluno ("Guilherme Silveira", 5617);
        Aluno a3 = new Aluno ("Mauricio Anichi", 17645);

        javaColecoes.matriculaAluno(a1);
        javaColecoes.matriculaAluno(a2);
        javaColecoes.matriculaAluno(a3);

        System.out.println("Quem é o aluno com a matrícula 5617");
        Aluno aluno = javaColecoes.buscaPorMatrícula(5617);
        System.out.println(aluno);
    }

}
public class Aluno {
    private String nome;
    private int matricula;

    public Aluno(String nome, int matricula) {
        if(this.nome == null) {
            throw new NullPointerException("Nome não pode ser nulo");
        }
        this.nome = nome;
        this.matricula= matricula;
    }

    public String getNome() {
        return nome;
    }

    public int getMatricula() {
        return matricula;
    }

    @Override
    public String toString() {
        return "[ Aluno: "+ this.nome + ", matrícula: " + this.matricula + "]";
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + matricula;
        result = prime * result + ((nome == null) ? 0 : nome.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Aluno other = (Aluno) obj;
        if (matricula != other.matricula)
            return false;
        if (nome == null) {
            if (other.nome != null)
                return false;
        } else if (!nome.equals(other.nome))
            return false;
        return true;
    }

}

Detalhe: o mesmo erro não acontecia antes de eu criar o TestaBuscaAlunosNoCurso.

1 resposta
solução!

Jã descobri o erro e configurei o eclipse da forma que rode o programa.