dúvida simples!

4 respostas
E

Olá amigos é a primeira vez que eu estou postando no site, gostaria de agradecer desde ja a atenção de vcs, bom minha dúvida eh seguinte, to praticando java fazendo arrays como vcs podem ver, mais na hora de compilar o código no javac da o seguinte erro:

exception in thread “main” java.lang.Null.PointerException at mostraArray.main(arrays.java:22)

o que será?

eis o código:

class pessoa {


String nome;

             }

 
          

class mostraArray {

public static void main(String[] args ) {

    pessoa[] amigos;

    amigos = new pessoa[5];




    amigos[0].nome = "Gabriel";

    amigos[1].nome= "zeh";

    amigos[2].nome= "jao";

    amigos[3].nome = "zezin";

    amigos[4].nome= "toin";



          
       int i;
           

            for ( i = 0; i < 5; i++) {


                System.out.println(" esses sao os meus amigos:  " + amigos[i].nome);



                            }



               }




  }

4 Respostas

peron

Olá,

Veja seu código, você criou um array de 5 posições, mas não instanciou a classe pessoa.

amigos = new pessoa[5];

o certo seria:

amigos = new pessoa[5];

amigos[0] = new pessoa();
amigos[0].nome = "Gabriel";  
   
amigos[1] = new pessoa();
     amigos[1].nome= "zeh";  
   
amigos[2] = new pessoa();
     amigos[2].nome= "jao";  
   
amigos[3] = new pessoa();
     amigos[3].nome = "zezin";  
   
amigos[4] = new pessoa();
     amigos[4].nome= "toin";

ah, e lembrando, tente sempre usar as convenções de código da SUN.

Abraços

dc.rec1

O problema é que você declarou teu array mais ainda não colocou nada nela. amigos[0] é igual a null e ao tentar fazer null.nome, termina acontecendo o erro.

LPJava
amigos[0].nome = "Gabriel";

nessa linha vc nao ta colocando o elemento no array nao… entao quando chega nessa linha aqui:

for ( i = 0; i < 5; i++) {   
  
  
                System.out.println(" esses sao os meus amigos:  " + amigos[i].nome);

o seu array tem o valor null e vc usou o . (ponto) para um objeto com o valor null e isso nao é valido uma exceção ocorre.
solucao:

amigos[0]= "Gabriel";

faça o mesmo com os outros… e para imprimir :

for ( i = 0; i < 5; i++) {   
  
  
                System.out.println(" esses sao os meus amigos:  " + amigos[i]);

obs.: pq vc postou isso nesta seção? Isso era para java basico…

E

muito obrigado pelas dicas Peron, dc.rec1 e LPjava olhando bem o código faltou criar a referencia a classe pessoa mesmo, valeu mesmo. como eh a primeira vez que eu posto no forum pensei que o lugar correto seria aqui mais nao eh, depois que eu ja tinha postado que descobri que tem o java basico, mais uma vez obrigado pelas dicas!!

Abraço!!

Criado 2 de dezembro de 2007
Ultima resposta 4 de dez. de 2007
Respostas 4
Participantes 4