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 Coordenador de Projetos -
NDS foton® Informática e
Serviços Fone: (61) 328 5060 R.:
203 -----Mensagem original----- 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"); } } } java.lang.NullPointerException alguém poderia me
ajudar, por favor? |