Joao, a linha:

 doisponto p[]  = new doisponto[3];

 não cria 3 objetos da classe doisponto mas sim uma alocação para 3 ponteiros para objetos doisponto que não foram criados em momento algum no código.

Para criá-los, você pode optar por escrever a seguinte linha:

doisponto p[]  = {new doisponto (),new doisponto (),new doisponto ()};

em substituição à primeira ou então acrescentar o código abaixo no for:

 

for(int i=0;i<3;i++){

p[i] = new doisponto();

p[i].x= console.readInt("Digite o valor um");

p[i].y= console.readInt("Digite o valor um");

}

 

A exceção java.lang.NullPointerException é uma das mais fáceis de localizar em Java, pois ocorre quando o programador tenta falar com um objeto através de uma referência (ou ponteiro para a galera que gosta de ´C´) não inicializada. No seu caso, estava trabalhando com um array de 3 referências nulas dentro do for. p[i].x não seria válido.

 

Obs.: Como me inscrevi há pouco tempo na lista, acho que minhas mensagens estão sendo moderadas então tomei a liberdade de escrever diretamente para seu e-mail.

Sugestão: Quando for criar classes em Java adote a convenção da SUN para nomes de classes. A sua ficaria assim: DoisPonto.

 

Espero ter ajudado.

[]s

 

 

Jorge Luiz Santos Farias

Coordenador de Projetos - NDS

[EMAIL PROTECTED]

foton® Informática e Serviços

Fone: (61) 328 5060 R.: 203

-----Mensagem original-----
De: João Paulo [mailto:[EMAIL PROTECTED]]
Enviada em: sexta-feira, 22 de março de 2002 15:33
Para: java-list@soujava.org.br
Assunto: [java-list] dois pontos em uma array!

 

oi, estou tentando fazer o seguinte

fazer um lista com dois valores em cada endereço...

 

class doisponto{

 

int x;

int y;

 

public static void main(String args[]){

 

doisponto p[]  = new doisponto[3];

 

for(int i=0;i<3;i++){

p[i].x= console.readInt("Digite o valor um");

p[i].y= console.readInt("Digite o valor um");

}

}

}
mas da erro na hora de rodar

java.lang.NullPointerException

alguém poderia me ajudar, por favor?

Responder a