1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Erro java.lang.NullPointerException

Fiz um pequeno programa. Ele basicamente gera e preenche um array de objetos, também criados por ele e, no case printa no console os atributos de cada um. Mas ao rodar o programa, recebo sempre o erro

Exception in thread "main" java.lang.NullPointerException

at reboot.Quadrant.igniteStars(Quadrant.java:27)

at reboot.Quadrant.(Quadrant.java:18)

at reboot.Universe.main(Universe.java:9)

O programa ainda esta pequeno e, como sou novo com Java, não estou conseguindo achar a solução.

O código do programa pode ser encontrado aqui: Projeto (GitHub)

Obrigado.

package reboot;

public class Quadrant {

    public int xCoord,yCoord,zCoord;
    public String quadrantName;
    double localSeed;
    public int starsNumber;
    public StarSystems[] starsArray;

    public Quadrant(int starsnumber,int xcoord,int ycoord,int zcoord){
        this.starsNumber = starsnumber;
        this.xCoord = xcoord;
        this.yCoord = ycoord;
        this.zCoord = zcoord;
        this.localSeed=(this.xCoord+2*this.yCoord+3*this.zCoord);
        this.quadrantName = (this.xCoord+"-"+this.yCoord+"-"+this.zCoord);
        igniteStars();
    }


    public void igniteStars(){
        this.starsArray = new StarSystems[this.starsNumber];
        double X=generateCoord(this.localSeed);
        for(int i=0;i<this.starsArray.length;i++){
            //Atribui cada coordenada
            this.starsArray[i].xCoord=generateCoord(X);
            X=this.starsArray[i].xCoord;
            this.starsArray[i].yCoord=generateCoord(X);
            X=this.starsArray[i].yCoord;
            this.starsArray[i].zCoord=generateCoord(X);
            X=this.starsArray[i].zCoord;
            //Atribui a Seed
            this.starsArray[i].localSeed=(this.starsArray[i].xCoord+2*this.starsArray[i].yCoord+3*this.starsArray[i].zCoord);
            //Atribui nome
            this.starsArray[i].systemName=(this.quadrantName+"-"+this.starsArray[i].localSeed);
        }
    }

    public double generateCoord(double Xi){
        int a = 25136;
        int b = 25256;
        int m = 500000;
        return (((a*Xi+b)%m)/1000);
    }
}
package reboot;

public class StarSystems {

    public double xCoord,yCoord,zCoord;
    public String systemName;
    double localSeed;
    public SystemsObjects[] objectsArray;

    public StarSystems(){
        System.out.println("Estrela Criada!");
    }

}
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

3 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags arrays java null ou faça a sua própria pergunta.