Error array dimension missing

I keep getting array dimension missing

public static Planet[] readPlanets(String filename) {

    allPlanets = new Planet[];
    In in = new In (filename);
    int nplanets = in.readInt();
    double radius = in.readDouble();
    for (int i = 0; i < allPlanets.length; i++) {
        double pxxPos = in.readDouble();
        double pyyPos = in.readDouble();
        double pxxVel = in.readDouble();
        double pyyVel = in.readDouble();
        double pmass = in.readDouble();
        String pimgFileName = in.readString();
    }
    return allPlanets;
}

Planet has six dimensions, and I have an array of multiple planets

Jon Skeet
people
quotationmark

When you create an array, you have to specify the size. I strongly suspect you want:

In in = new In(filename);
int nPlanets = in.readInt();
allPlanets = new Planet[nPlanets];

Note that it's odd that you're assigning to a field and returning the reference from the method. It would be more usual to do one or the other, e.g. use a local variable:

Planet[] planets = new Planet[nPlanets];
...

return planets;

And then assign to the field in the calling code:

allPlanets = readPlanets(...);

people

See more on this question at Stackoverflow