Что означает 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);}
    }
}
Другие вопросы по тегам