Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我需要帮助理解Java中的/和%符号。另外,我需要一些关于如何继续代码的建议_Java_Bluej - Fatal编程技术网

我需要帮助理解Java中的/和%符号。另外,我需要一些关于如何继续代码的建议

我需要帮助理解Java中的/和%符号。另外,我需要一些关于如何继续代码的建议,java,bluej,Java,Bluej,好的,让我们开始,展示我的问题 问题是: 10001素数 通过列出前六个素数:2、3、5、7、11和13,我们可以看到第六个素数是13 第10001个素数是什么? 这就是我目前所做的。我很不擅长创建算法,但我真的很想追随我父亲成为IT专家的道路。我很喜欢这样做,但我现在很挣扎 public class PrimeNumber { public static void main(String[] args) { int primeNum = 2;

好的,让我们开始,展示我的问题

问题是: 10001素数

通过列出前六个素数:2、3、5、7、11和13,我们可以看到第六个素数是13

第10001个素数是什么? 这就是我目前所做的。我很不擅长创建算法,但我真的很想追随我父亲成为IT专家的道路。我很喜欢这样做,但我现在很挣扎

public class PrimeNumber
{
    public static void main(String[] args)
    {
         int primeNum = 2;

         for (int count = 0; count < 10002; count++)
         {
              if (primeNum / 2 ==  && primeNum / primeNum == 1)
         {
              primeNum++;
         }
         else
         {
            System.out.println("Error.");
         }
     }
     System.out.println(primeNum);
    }
}
公共类素数
{
公共静态void main(字符串[]args)
{
整数素数=2;
对于(int count=0;count<10002;count++)
{
if(primeNum/2=&&primeNum/primeNum==1)
{
primeNum++;
}
其他的
{
System.out.println(“错误”);
}
}
System.out.println(primeNum);
}
}

符号表示“除以”。所以你的代码说‘如果primeNum除以2=1,primeNum除以primeNum=1,那么增加primeNum’,这是不必要的;所有这些问题都是质数是否为2

%符号表示“除以时的余数”。所以2%3=1。4%2=0. 这在您的程序中可能很有用,因为它允许它通过查看您的数字是否可被任何数字整除来检查您的数字是否为素数

(使用if(a%b==0),您可以检查b是否是a的因子。)

你的程序有几个捷径可以走:它只需要检查每个素数,直到它所检查的数的平方根

所以你可能想保留一个你找到的所有素数的数组,这样你就可以检查一个你想知道的数是否是素数,是否可以被其中任何一个整除


(这可以通过外部循环完成,遍历每个数字,循环内部循环,检查该数字是否可被先前发现的素数整除。)

p.S,我只是请求帮助和指导,所以不要犹豫给我反馈。10001素数并不意味着在1和10001之间有10001素数。在找到超过10K个素数之前,你需要为自己提供整数。你说的“可能的重复”是什么意思?@uthark:我根本不相信这是重复的。它问的不是同一个问题。我正在尝试滚动浏览并检查所有的数字@如果你仍然有困难,我可以提供示例代码。谢谢你,我所需要的只是一些解释。我能够自己编写代码。