Versão atual:

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!");
    }

}

Versões(3):

Ver a versão formatada

Erro java.lang.NullPointerException

Comentário

new question