Что является хорошей практикой при инициализации переменных, которые будут установлены внутри цикла? - PullRequest
0 голосов
/ 02 декабря 2018

Следующий код является лишь примером, но я часто нахожусь в такой ситуации, когда я получаю эту ошибку.

В этом случае, когда я пытаюсь вызвать isPrime (factor1), я получаю сообщение об ошибке «переменная factor1, возможно, не инициализирована».

Я понимаю, что быстрое исправление состояло бы в инициализациии фактор1 и фактор2 до 0 или -1.Но что является лучшей практикой для подобных ситуаций?

Также обратите внимание, что это всего лишь фрагмент кода.

int factor1;
int factor2;

for(int i = 2; i< n; i++) {
    if(n % i == 0){
        factor1 = n / i;
        factor2 = i;
        break;
    }
}

if(isPrime(factor1)){
    factors.add(factor1);
} else {
    factors.addAll(primeFactorization(factor1));
}

1 Ответ

0 голосов
/ 02 декабря 2018

Как отметил @Hovercraft Full Of Eels, в большинстве случаев вы просто инициализируете переменные некоторым значением по умолчанию, например:

int factor1 = 0, factor2 = 0;
for(int i = 2; i< n; i++) {
    if(n % i == 0){
        factor1 = n / i;
        factor2 = i;
        break;
    }
}
if(isPrime(factor1)){
    factors.add(factor1);
} else {
    factors.addAll(primeFactorization(factor1));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...