-3
if(aveRP[0] == 0){}
else if(aveRP[0] > 0){
for(int i = 0 ; i < 100; i++){
double a = r.nextGaussian() * 0.3 + aveRP[0];
if (a < 0 || a > 1){}
else{ relinp.add(a);}

其中 aveRP 是双变量类型的数组列表?

4

1 回答 1

1

aveRP[0] == 0 该语句正在检查数组的第一个元素是否aveRP存在0。如果是0,则不执行任何代码。该else块再次检查它是否大于0

最重要的是,您的代码中有许多不必要的验证。您的问题中编写的代码相当于:

if(aveRP[0] > 0){
    for(int i = 0 ; i < 100; i++){
        double a = r.nextGaussian() * 0.3 + aveRP[0];
        if( !(a < 0 || a > 1) ){ relinp.add(a);}
    }
}
于 2016-08-03T08:33:22.470 回答