混淆的n个质数java的和

时间:2018-09-29 13:57:25

标签: java math count sum

我已经阅读了几篇文章,我什至在一次考试中都做到了,但是在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 :(得分:1)

您的代码至少存在两个问题:

  • 您不会为每个单独的素数测试重置变量noMod0s。您应该在第二个循环之前执行此操作。
  • 第二个循环应从2而不是1开始,以进行有效的素数测试。当然,在这种情况下,您将比较noMod0s == 0。它的工作原理相同,但是可以更清楚地了解代码的作用。