сумма n простых чисел java, запутанная - PullRequest
0 голосов
/ 29 сентября 2018

Я прочитал несколько постов по этому поводу, я даже делал это во время одного из экзаменов, но был на vb.net.Это работало нормально, однако Eclipse просто безостановочно работает, когда я пытаюсь выполнить свою программу, или иначе это дает мне неправильный ответ.Вот моя четвертая попытка.Мне нужно добавить сумму первых n простых чисел, поэтому я проверяю, является ли число простым или нет.Цикл не останавливается по какой-то причине.Любая помощь будет оценена.Спасибо.

int count = 0;
int noMod0s = 0;
int total = 0;
//static boolean prime;
for (int y = 2;count<5;y++) {
    for (int z = 1;z<y;z++) {
        if (y % z == 0) {
            noMod0s++;
        }
    }
    if (noMod0s == 1) {
        total = total + y;
        count++;
        noMod0s = 0;
    }
}
System.out.println(total);

1 Ответ

0 голосов
/ 29 сентября 2018

В вашем коде есть как минимум две проблемы:

  • Вы не сбрасываете переменную noMod0s для каждого отдельного теста на простоту.Вы должны сделать это до второго цикла.
  • Второй цикл должен начинаться с 2, а не с 1, чтобы быть действительным тестом на простоту.Конечно, в этом случае вы будете сравнивать noMod0s == 0.Он работает так же, но дает более четкое представление о том, что делает код.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...