Duvida Iniciante em Java

2 respostas
R

Boa Tarde a todos,

primeiramente, sou novo aqui no fórum, então me desculpem se to postando na área errada.

Preciso de uma ajuda de vcs, to tentando fazer um cadastro de "agenda eletrônica", mas to com um probleminha na hora de guardar os dados em um objeto,

como eu sou muito novato em Java creio ter cometido erros bizarros, mas vamos lá, vou botar os códigos e uns comentários para que possam me ajudar.

System.out.println("Digite o nome para o contato: ");
                salvaS = sc.next();
                contact[contContact].setName(salvaS);

Nesta parte, eu já importei a classe java.util.scanner e criei um Obj. sc, para fazer a leitura dos dados, porém quando escrevo uma string e mando ele retorna um erro:
" Digite o nome para o contato:
josé

Exception in thread "main" java.lang.NullPointerException
at Agenda.main(Agenda.java:30)
Java Result: 1 "

abaixo vou postar a classe que criei para declarar o objeto contact[]:
public class RegistroAgenda {

    // Declaração de variáveis //
    private String name;
    private int number;
    private String address;
    private String mail;
    private int registerCount;
    private int registerCountControl;



                      // -------   Métodos Get-Set ------ //
    // Get-Set Name: //
    public String getName(){
        return name;
    }
    public void setName(String name){
        this.name = name;
    }


    // Get-Set number: //
    public int getNumber(){
        return number;
    }
    public void setNumber(int number){
        this.number = number;
    }


    // Get-Set address: //
    public String getAddress(){
        return address;
    }
    public void setAddress(String address){
        this.address = address;
    }


    // Get-Set mail: //
    public String getMail(){
        return mail;
    }
    public void setMail(String mail){
        this.mail = mail;
    }

    // Get-Set CountControl //
    public void setRegisterCountControl(int x){
        this.registerCountControl = x;
    }
    public int getRegisterCountControl(){
        return registerCountControl;
    }
                // ------ END GET-SET SESSION ------ //




                // ------    CONSTRUTORES     ------ //

    public RegistroAgenda(){
        registerCount++;
    }
    public RegistroAgenda(String name){
        this();
        this.name = name;
    }
    public RegistroAgenda(String name, int number){
        this(name);
        this.number = number;
    }
    public RegistroAgenda(String name, int number, String address){
        this(name,number);
        this.address = address;
    }
    public RegistroAgenda(String name, int number, String address, String mail){
        this(name,number,address);
        this.mail = mail;
    }
                // ------ END OF CONTRUCTORS ------ //
   
}

Obs.: O obj. contact é um vetor de 10 posições e está sendo acessado atravé do indice.

Obs2.: Pelo que pude perceber, meu objeto lê facilmente os dados se não for um vetor, se alguém tem uma solução pra isso seria de grande ajuda.

Obs3.: Uma String é composta de apenas uma palavra ? ou melhor, se eu der um espaço e salvar como uma String em uma variável vai dar problema... Alguém sabe como eu poderia salvar o endereço de uma forma melhor ?

Agradeço a todos que puderem me ajudar

2 Respostas

BrunoBastosPJ

Quando você cria um array os objetos e tipos primitivos são inicializados com valor seu valor default (no caso dos objetos null).

Para usar uma posição do array você tem que inicializa-la antes:

contact[contContact] = new RegistroAgenda ();
R

BrunoBastosPJ:
Quando você cria um array os objetos e tipos primitivos são inicializados com valor seu valor default (no caso dos objetos null).

Para usar uma posição do array você tem que inicializa-la antes:

contact[contContact] = new RegistroAgenda ();

poo cara, valeu, era isso mesmo, comsegui resolver o meu problema,

mas continuando, isso aí é um tema de aula e tal, como to aprendendo sozinho to com bastante dificuldade…

Teria como armazenar uma frase em uma string ? sempre que dou um espaço na hora de armazenar alguma coisa da erro também ;s

Desde já agradeço sua ajuda !

Criado 10 de novembro de 2010
Ultima resposta 11 de nov. de 2010
Respostas 2
Participantes 2