Oi…
Estou tentanto fazer uma agenda eletrônica e armazenando esses valores num vetor…ele não compila e “roda”…só que depois de eu informar o 1º nome e dar enter…ele dá o erro java.lang.NullPointerException…
Vou colocar o código e suas duas classes:
::Aqui é a classe main
[code]import java.util.Scanner;
public class MainAgendaEletronica {
public static void main(String args []){
AgendaEletronica[] ae = new AgendaEletronica[5];
Scanner ler = new Scanner(System.in);
for (int i=0;i<5;i++){
System.out.println("Informe o nome");
String nome=ler.next();
ae[i].setNome(nome);
}
for(int i=0;i<5;i++){
System.out.println("o Nome é: "+ae[i].getNome());
}
}
}[/code]
:: Agora a Classe “modelo”, como vcs quiserem chamar…
[code]public class AgendaEletronica {
private String nome;
// private String telefone;
public String getNome(){
return this.nome;
}
public void setNome(String nome){
this.nome=nome;
}
/* public String getTelefone(){
return this.telefone;
}
public void settelefone(String telefone){
this.telefone=telefone;
}*/
}[/code]
Valeu pela atenção gente… 
Oi, o problema é o seguinte, quando você cria um array (seja ele de objetos ou de tipos primitivos como int por exemplo) eles possuem o valor padrão, que para objetos é null e para tipos primitivos é 0.
No teu caso, antes de usar qualquer posição do teu array, você deve inicializar o objeto que está naquela posição
Resumindo
ae[i] = new AgendaEletronica();
ae[i].setNome(nome);
Bom era isso!
Valeu pela ajuda! Funcionou!!! 
Então toda vez, que eu for usar um vetor eu terei que inicializá-lo, né?!
Essa forma seria para iniciar um objeto…se fosse primitivo eu teria q colocar o valor diretamente…?!
Assim jogar o valor direto…
ex: vet[0]=5;
[quote=karolynareis]Valeu pela ajuda! Funcionou!!! 
Então toda vez, que eu for usar um vetor eu terei que inicializá-lo, né?!
Essa forma seria para iniciar um objeto…se fosse primitivo eu teria q colocar o valor diretamente…?!
Assim jogar o valor direto…
ex: vet[0]=5;[/quote]
Olá, tudo bom?
Então, quando vc cria um vetor de tipor primitivos, por exemplo int, é só fazer assim:
int[] vet = new int[5];
Ele já seta todas as posições do vetor com 0. Daí não precisa setar todas as posições uma a uma. Imagina se fossem 200 posições :shock: , a menos é claro que vc utilize uma estrutura de repetição, mas isso seria horrível 
Abraço
Ah sim…eu fiquei imaginando como seria isso msm…uma a uma…iria dar uma dor de cabeça… 
Obrigada pela ajuda… 
Só para constar! Se fosse 200 posições e você quiser inicializá-lo com um valor diferente de 0 é só fazer o seguinte
public static void main(String[] args) {
int[] i = new int[200];
Arrays.fill(i, 10);
}
Bom…eu entendi…mas fiquei confusa com uma coisa…
Depois da grande ajuda de vcs, consegui fazer aquela agenda funcionar… 
E resolvi partir para implementá-la através do swing…ela está quase funcionando…só que é justamente na hora de armazenar no vetor que estou me embolando…
Se liga… 8)
::Classe que eu achava que seria a única a ser feita…
[code]import javax.swing.;
import java.awt.;
import java.awt.event.*;
public class AgendaEletronica extends JFrame {
private JLabel lblNome;
private JTextField txtNome;
private JLabel lblTelefone;
private JTextField txtTelefone;
private JButton btnAdicionar;
private JButton btnExcluir;
private JButton btnAtualizar;
//-------tela------
public AgendaEletronica(){
lblNome=new JLabel("Nome: ");
txtNome=new JTextField();
lblTelefone=new JLabel("Telef.: ");
txtTelefone=new JTextField();
btnAdicionar=new JButton("Adicionar");
btnExcluir=new JButton("Excluir");
btnAtualizar=new JButton("Atualizar");
getContentPane().setLayout(new FlowLayout());
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setResizable(false);
setSize(230,160);
setLocationRelativeTo(null);
setTitle("Agenda Eletrônica");
getContentPane().add(lblNome);
getContentPane().add(txtNome);
getContentPane().add(lblTelefone);
getContentPane().add(txtTelefone);
getContentPane().add(btnAdicionar);
getContentPane().add(btnExcluir);
getContentPane().add(btnAtualizar);
txtNome.setColumns(13);
txtTelefone.setColumns(13);
//------evento----
btnAdicionar.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev){
String n=txtNome.getText();
String t=txtTelefone.getText();
System.out.println(n+" "+t);
dado[]=new Dados();
dado[]=setNome(n);
dado[]=setTelefone(t);
dado[]=getNome(n);
dado[]=getTelefone(t);
System.out.println("Tirando do vetor temos:"+n+" "+t);
}
});
}
//-------------main----------
public static void main(String[] args) {
Dados[] dado = new Dados[10];
new AgendaEletronica().setVisible(true);
}
}[/code]
::Classe que precisei fazer para completar… 
[code]public class Dados {
private String nome;
private String telefone;
public void setNome(String nome){
this.nome=nome;
}
public String getNome(){
return this.nome;
}
public void setTelefone(String telefone){
this.telefone=telefone;
}
public String getTelefone(){
return this.telefone;
}
}[/code]
Alguém entendeu por que não está reconhece dado[]=new Dado() e as outras 4 linhas abaixo?
Eu não estou entendo como devo fazê-lo…por enquanto só estou tentando aramazenar os dados dentro do vetor e depois recuperá-los, assim eu vejo se está funcionando…
:lol: