Problema com classes e matrizes

3 respostas
D

Crio o seguinte

Aluno cria_aluno = new Aluno();

chamo cria_aluno.setNome(); e funciona normal

agora crio

Aluno cria_aluno_especial[] = new Aluno[10];

chamo cria_aluno_especial[1].setNome(); e da erro !

Aonde estou errando ?

3 Respostas

Hayros

Tá muito difícil de entender, mas eu acho que foi na delaração do array, acho que o quê vc queria era:

Aluno [] cria_aluno_especial = new Aluno[10];

Array tem um monte de jeito de declarar, o seu jeito pode ser apenas um jeito que eu não me lembro. Dá uma tentada, de qqr jeito. Vc deve precisar de um “for” pra encher o array com os alunos tb.

diguix

O problema esta qnd vc coloca 1 na posicao do vetor. Assim ele vai trabalhar somente com a posição 1.

Aluno cria_aluno_especial[] = new Aluno[10]; 

AQUI=  chamo cria_aluno_especial[1].setNome(); e da erro ! =AQUI
                                 ^
Tente criar um auxiliar: 1) int i=0; 2) chama cria_aluno_especial[ i ].setNome(); //substituir o 1 pelo i . 3)utilizar um for () p/ repetir as 10 posições. 4)antes de sair do for acrescenta ao i + um valor( i++; ).

Espero ter ajudado abraços qlq coisa estamos ai!!

D

Desculpem se não fui preciso, meu problema é o seguinte, tenho a classe Aluno, se criou um unico objeto com ela, ela funciona normal.

Aluno cria_aluno = new Aluno();

Agora , preciso obter a nota de 10 alunos, então criou um array da classe aluno,

Aluno cria_aluno_especial[] = new Aluno[10];

dentro da classe Aluno tenho uma função que grava um nome
obs . as variaveis estão sendo declaradas no inicio da classe;

public void setNome (){

this.nome=JOptionPane.showInputDialog("Informe o nome do aluno");
}

o array é criado, mas quando chamo um metodo, da erro :

cria_aluno_especial[1].setNome();

Exception in thread main java.lang.NullPointerException

at Testadora.criaAlunoEspecial(Testadora.java:38)

at Testadora.main(Testadora.java:15)

O problema, não é no for, o fato de eu ter cidado [1] foi apenas um exemplo.

Criado 9 de setembro de 2006
Ultima resposta 10 de set. de 2006
Respostas 3
Participantes 3