我必须实现这个方法来给出数组“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 个行星,它总是返回我在初始化时赋予 size 的值)。我究竟做错了什么?
注意:我用 NP 初始化数组“planeta”,这意味着没有行星。当我添加新行星时,它们会转到数组“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;
}