Boa noite,
Não consigo entender por que o meu código, quando chega na linha 32, para de funcionar com erro “pointer exception”.
Alguém poderia dar uma ajuda?
código: http://prntscr.com/dl2acb
Obrigado.
Boa noite,
Não consigo entender por que o meu código, quando chega na linha 32, para de funcionar com erro “pointer exception”.
Alguém poderia dar uma ajuda?
código: http://prntscr.com/dl2acb
Obrigado.
Porque nesta linha:
Contact contactInfo[] = new Contact[3];
Você instanciou um array com capacidade para 3 Contacts, porém não criou os Contacts própriamente ditos. Tente colocar abaixo da linha que citei acima o seguinte:
contactInfo[0] = new Contact();
contactInfo[1] = new Contact();
contactInfo[2] = new Contact();
É exatamente o que nosso amigo acima disse.
Você criou o vetor Contact, porém não o populou.
Você está setando um valor setName(keyboard.next()) em um objeto nulo. No caso contactInfo[c], pois não há nenhum objeto dentro da tal posição.
Primeiro você deve popular o vetor, para só depois então setar os atributos. Você pode fazer isso no próprio for.
Por exemplo:
Contact contactInfo[] = new Contact[3];
for (int c = 0; c < contactInfo.length; c++) {
contactInfo[c] = new Contact(); // aqui você está populando a posição 'c' do array
System.out.println("Enter three contacts > ");
System.out.print("Contact " + (c + 1) + ": ");
contactInfo[c].setName(keyboard.next());
// aqui você vai setando os outros atributos..
}
a notação de array é uma coisa levemente confusa em Java, mas tem explicação historica.
se fosse hoje seria algo como Array<T>(int tamanho) porem generics vieram depois.
então vc faz new MinhaClasse[3] mas vc não fez new na classe mas sim em um array da mesma.
Agora entendi, muito obrigado mesmo.
Porém, estou com dificuldade agora para mostrar as informações na tela com um método de outra classe:
Código: http://prntscr.com/dlh213
Estou a dias tentando, mas nada. Essa relação “tem um” e “tem muitos” é complexa, caso tiver algum material que ajude também, será bem vindo.
Agora entendi, ficou bem mais esclarecido! Era isso que estava faltando 
Porém, estou com dificuldade agora para mostrar as informações na tela com um método de outra classe:
Código: http://prntscr.com/dlh213
Estou a dias tentando, mas nada. Essa relação “tem um” e “tem muitos” é complexa, caso tiver algum material que ajude também, será bem vindo.
No aguardo.
Exatamente 