使用嵌套循环

时间:2015-12-02 16:26:47

标签: java loops

我真的很难做到这一点! z是一系列引力场。为了找到作用在行星上的总引力场,比如地球,我想把所有的条目加在一起,同时排除地球引力场的入口,因为地球的引力不会作用于地球本身。

例如,说z = [earthGrav, sunGrav, marsGrav, moonGrav]。然后地球上的总场地为sunGrav+ marsGrav + moonGrav。我可以使用s=i+1处理这个问题。但是,对于太阳,当sunGrav = earthGrav+marsGrav+moonGrav时,这不会起作用,因为第一个条目将被遗漏!

for(int i=0; i<planets.length;i++){     
    for(int s=0;s<z.length;s++){
        if(i!=s){
            sum1.increaseBy(z[s]); 
            newP[i] = planets[i].updatePosition(position[i], velocity[i], timeStep, sum1);
        }
        else{
            sum1.scale(1);  
        }
    }
}

问题是,我上面的方式意味着每当我向i添加1时,1也会被添加到s,因此s和{{1}始终是相同的,if语句永远不会被执行!谁能想到办法做到这一点?

0 个答案:

没有答案