Ошибка: отсутствует инструкция возврата - PullRequest
0 голосов
/ 07 февраля 2012

Мой код раньше работал отлично, и теперь он больше не компилируется. Я некоторое время искал пропущенную инструкцию возврата, но все еще не могу ее найти ... Вот код:

private static boolean Prime(int x){        
for(int i=1;i<x;i++) 
{
if(x%i==0){
return false;
}   
return true;
}
}
}

Ответы [ 2 ]

2 голосов
/ 07 февраля 2012

не должен ли последний возврат быть одной закрывающей фигурной скобкой позже?

private static boolean Prime(int x){        
    for(int i=1;i*i<x;i++) 
    {
        if(x%i==0){
            return false;
        }   
    }
    return true;
}

и, как примечание, вы можете остановить цикл for в квадратном корне из x.

i * i < x

или

i < sqrt(x)

Я обновил условие в блоке кода с отступом.

1 голос
/ 07 февраля 2012

Легко увидеть проблему, если использовать отступы:

private static boolean Prime(int x) {
    for (int i = 1; i < x; i++) {
        if (x % i == 0) {
            return false;
        }
        return true;
    }
}
}
...