显示一定数量的质数

问题描述 投票:1回答:2

我一直在研究一些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:");
            }

        }

    }

}
java arrays primes
2个回答
0
投票

这是用于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--;
      }    
    }    
  }    
}
    

0
投票

请在下面的代码中查看您的答案:

© www.soinside.com 2019 - 2024. All rights reserved.