Что означает aveRP[0] == 0 и aveRP[0] > 0 в коде?
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 - список массивов типа двойной переменной?
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);}
}
}