我一直在研究一些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--;
}
}
}
}
请在下面的代码中查看您的答案: