配列「planeta」内の惑星の数を与えるこのメソッドを実装する必要があります。
public int size() {
int size=planeta.length-1;
for (int k=planeta.length-1;k>0;k--){
if (planeta[k].name().equals(noPlanet))
size--;
}
return size;
}
想定されている値ではなく、「planeta.length-1」の値を返します(たとえば、2つの惑星を正常に追加すると、初期化時にサイズに指定した値が常に返されます)。私は何を間違っていますか?
注: 配列「planeta」を NP で初期化します。つまり、No Planet を意味します。新しい惑星を追加すると、配列「planeta」の 0 から始まる最初の空き位置に移動します。助けてください!!!!!ありがとうございます=)
addPlanet メソッド: public void addPlanet(String PlanetName, BigInt x, BigInt y, BigInt z) {
if(!planetExists(planetName) && !complete()){
SpacePoint newSP= new SpacePoint(x,y,z);
Planet newPlanet= new Planet(planetName,newSP);
s=this.size();
planeta[s]=newPlanet;
}
}
配列「planeta」を初期化する方法: private Planet noPlanet=new Planet("NP");
/**
* Creates a new Galaxy with no associated Planets and a given name
* @param name the name of the Galaxy
*/
public Galaxy(String name) {
this.name=name;
//if the galaxy has no planets in it,it's array if filled with planet NP-No Planet
for (int i=0;i<planeta.length;i++)
planeta[i]=noPlanet;
}