java - 查找素数

标签 java loops

我试图从命令行获取两个参数,第一个数字是起点,第二个数字是之后应该找到多少个素数。我需要打印第二个命令参数所说的多次找到的素数。我不知道如何让它运行正确的次数,然后找到素数。这是我尝试过的:

int values = Integer.parseInt(args[0]);   
int loopAmount = Integer.parseInt(args[1]);

for (int i = 2; i <= loopAmount; i++) {
    loopAmount++;
    if (values % i != 0) {
        values++;
        System.out.println(i);
    }
}

最佳答案

你的主循环应该是这样的:

int start = Integer.parseInt(args[0]);

int count = Integer.parseInt(args[1]);

for (int candidate = start, i = 0; i < count; ++candidate) {
    if (isPrime(candidate)) {
        i++;
        System.out.println(candidate);
    }
}

我替换了变量名称,使它们更有意义。

在循环内,您必须实现 isPrime 方法:如果它接收的参数是质数,则返回 true,否则 false .

关于java - 查找素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35755332/

相关文章:

java - 如何将 2D 网格缩放到 Canvas 的大小?

c++ - 在循环中创建结构的更好方法

python - 如何在 Python 中压缩嵌套循环

excel - 如何在excel中获取所有过滤的数据行(带有隐藏列)?

Python:迭代两个以列表为值的字典

c++ - 在While循环中添加break语句时,为什么会出现错误?

java - 如何使用 OpenCV Java 转换矩阵中的矩形颜色 (ROI)?

java.util.logging.SimpleFormatter系统属性配置

java.lang.IllegalArgumentException : FormUrlEncoded can only be specified on HTTP methods with request body (e. g., @POST)

java - Swing:如果主窗口关闭,如何杀死工作线程?