problema com vetor ---> NullPointerException  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
nipo_style
Debugger

Membro desde: 13/10/2007 16:20:08
Mensagens: 56
Offline

Pessoal, estou fazendo um dicionario. Tenho uma classa RegistroDicionario, dentro tem somente duas variaveis publicas "portugues" e "ingles". no metodo main criei um RegistroDicionario[] vetor = new RegistroDicionario[20]
so que quando tento alterar os dados de cada registro, ele da NullPointerException, não consigo enxergar o erro no código, se alguem puder me ajudar eu agradeço, o codigo ta embaixo:


Agradeço, abraço.
LPJava
GUJ Hacker

Membro desde: 18/04/2006 12:50:23
Mensagens: 5524
Localização: Bahia/Porto Alegre
Offline

o que é esse . portugues ?

poe o codigo completo..

Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
[WWW]
jovijesc
JavaChild

Membro desde: 04/09/2007 12:30:08
Mensagens: 148
Offline

Falta isso:

RegistroDicionario[] vet = new RegistroDicionario[2];
vet[0] = new RegistroDicionario();
vet[1] = new RegistroDicionario();

vet[0].portugues = "Vermelho";
vet[0].ingles = "Red";

vet[1].portugues = "Mesa";
vet[1].ingles = "Table";


Você só definiu o tamanho para o array mas não criou as instancias..

This message was edited 1 time. Last update was at 06/05/2008 12:30:59

rodrigues.danilo
JavaBaby
[Avatar]

Membro desde: 17/04/2008 09:16:30
Mensagens: 99
Localização: São Paulo
Offline

Boa tarde.

A correção para o seu objetivo é:



Mas cara, preciso ser honesto contigo: seu código tá horrível! PELO AMOR DE DEUS! REMOVE ESSES ATRIBUTOS PÚBLICOS! Coloca os getters e setters.
Pelo que vejo você está iniciando com OO. Dá uma estuda na teoria antes, depois vai implementar. E quando for implementar, procure as boas práticas!

Abs.

Abs!
Danilo
zepunk
JavaTeenager
[Avatar]

Membro desde: 24/05/2005 11:57:28
Mensagens: 198
Localização: Osasco
Offline

Quando você estancia um vetor as posições dele continua com null.
ou seja vc precisa estanciar as posições do seu vetor.





Perseverança sozinha não ganha guerra, só palavras não conquistam um coração.
[Email] [MSN]
LPJava
GUJ Hacker

Membro desde: 18/04/2006 12:50:23
Mensagens: 5524
Localização: Bahia/Porto Alegre
Offline

rodrigues.danilo wrote:Boa tarde.

A correção para o seu objetivo é:



Mas cara, preciso ser honesto contigo: seu código tá horrível! PELO AMOR DE DEUS! REMOVE ESSES ATRIBUTOS PÚBLICOS! Coloca os getters e setters.
Pelo que vejo você está iniciando com OO. Dá uma estuda na teoria antes, depois vai implementar. E quando for implementar, procure as boas práticas!

Abs.


pust ]é verdae agora que entendi o seria o portugues... ta mal o codigo mesmo.

So nao fica nervoso com o cara nao...

Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
[WWW]
rodrigues.danilo
JavaBaby
[Avatar]

Membro desde: 17/04/2008 09:16:30
Mensagens: 99
Localização: São Paulo
Offline

nipo_style, putz cara! Acho que a forma como eu escrevi parece que fiquei nervoso... Não fiquei não cara! E o importante mesmo é você expor seu código... Postar em fóruns e talz... Tirar dúvida mesmo!
Só não esquece de deixar aqueles atributos privados! Ok?

Abs!

Abs!
Danilo
nipo_style
Debugger

Membro desde: 13/10/2007 16:20:08
Mensagens: 56
Offline

vlwww gente funciono, me esqueci de dar new
e o codigo eh assim msm, pq isso eh apenas um registro n precisa ter encapsulamento
vlww!! abraço
ademarsanches
What is classpath?

Membro desde: 16/10/2006 12:54:12
Mensagens: 7
Offline

Boa tarde amigo.

Concordo com os demais, está meio confuso seu código, mas esqueçamos isso para o momento,
está faltando você instanciar as posições do array, lembre também que usar array tem suas vantagens,
mas só quando é possível prever seu tamanho, dê uma olhada em e linkedlist.

RegistroDicionario[] vet = new RegistroDicionario[2];

vet[0] = new RegistroDicionario();
vet[0].portugues = "Vermelho";
vet[0].ingles = "Red";

Saudações

AdemarSanches

lopima
Debugger

Membro desde: 08/04/2008 08:26:20
Mensagens: 70
Offline

é o seguinte oque voce criou foi ume vetor de objetos, quando se cria um vetor de objetos de inicio se cria apenas as referencias. para instanciar o vetor, quero dizer criar os objetos voce deve fazer o seguinte.

vet[0] = new ClasseObjeto();
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team