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
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(...);
See more on this question at Stackoverflow