java - 嵌套 "FOR-loops"不起作用

标签 java for-loop

我正在《Java 如何编程》一书中做练习。练习要求我编写一个方法来确定一个数字是否是“素数”。 (“素数”是一个正整数,只能被它本身和 1 整除)。然后我应该在显示 10 000 以内所有整数的应用程序中实现该方法。 我使用“double-values”来测试余数是否为0,以测试可除性。 不管怎样,我只是不让程序工作,它显示从 3 开始的所有数字,并以每个数字显示的次数递增(3 44 555 等)。谁能告诉我我做错了什么?

代码如下:

public class Oppgave625 
{

public static void main(String[] args) 
{
for(double a = 2; a <= 10000; a++)
    {
    for(double b = 1; b < a; b++)
        {
        if (prime(a, b) !=0)
            {
            System.out.printf("%.0f ", prime(a, b));
            }
        }

    }

}

static double prime(double x, double y)
{
if (x % y != 0)
    {
    return x;
    }
else
    {
    return 0;
    }
}

}

最佳答案

使用 int 代替。 double 不适合此目的

您可能想阅读this article了解 float 的 % 运算符的使用。

关于java - 嵌套 "FOR-loops"不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8466329/

相关文章:

Java:了解泛型数组的类型删除

java - tomcat 6 上的 CompilerThread 状态

java - Spring JPA实体类可以包含不在数据库表中的非数据库字段吗

JavaScript for 循环帮助

Java 因缺少依赖项/JAR 生成 "stub"

java - 通过单独使用/分析给定 URL 获取示例请求/响应

linux - 在 linux 文件中的每一行之前添加文本

python - 如何使用 train_test_split 在交叉验证中保持测试大小不变?

r - 从循环计算函数以将其应用到数据帧列表中

python - "for loop"有两个变量?