显示一定数量的素数

Show certain amount of prime numbers

我一直在编写一些 java 代码来显示素数。我已经让它显示了 0 到 100 之间的所有质数。

我该怎么做才能将变量设置为 20,它会显示前 20 个素数。

我的代码:

public class PrimeNumber {

    /**
     * @param args the command line arguments
     */
 private static boolean prime = true;
 private static int count =  20;

    public static void main(String[] args) {

        for (int i = 2; i < 100; i++) {
            for (int j = 2; j < 100; j++) {
                if(i == j)
                {
                    continue;
                }
                if (i % j == 0) {
                    prime = false;
                    break;
                } else {
                    prime = true;
                }
            }
            if (prime) {
                System.out.println(i + " is a Prime:");
            }

        }

    }

}

这是最简单的 OP 代码实现。

减小count变量并在外部for loop中检查它直到达到zero。此外,内部 for 循环应该只检查到 (i/2 + 1) 的当前值。另一半您可以随时跳过,该值将除以数字 i 本身。

public class PrimeNumber {    
  /**
   * @param args the command line arguments
   */
  private static boolean prime = true;
  private static int count =  20;

  public static void main(String[] args) {

    for (int i = 2; count>0; i++) {
      for (int j = 2; j < i/2 + 1; j++) {
        if (i % j == 0) {
          prime = false;
          break;
        } else {
          prime = true;
        }
      }
      if (prime) {
        System.out.println(i + " is a Prime:");
        count--;
      }    
    }    
  }    
}

检查以下代码以获得答案:

public class PrimeNumber {
private static boolean prime = true;
private static int count =  20;

    public static void main(String[] args) {

        for (int i = 2; i < count+1; i++) {
            for (int j = 2; j < 100; j++) {
                if(i == j)
                {
                    continue;
                }
                if (i % j == 0) {
                    prime = false;
                    break;
                } else {
                    prime = true;
                }
            }
            if (prime) {
                System.out.println(i + " is a Prime:");
            }}}}