解法一:最普通解法
class PrimeNumberTest1 {
public static void main(String[] args) {
boolean isPrime = true;
for (int i = 2; i <= 100; i++) {
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
System.out.println(i);
}
isPrime = true;
}
}
}
解法二:减少查找次数
class PrimeNumberTest2 {
public static void main(String[] args) {
boolean isPrime = true;
for (int i = 2; i <= 100; i++) {
for (int j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
System.out.println(i);
}
isPrime = true;
}
}
}
简写解法二
class PrimeNumberTest3 {
public static void main(String[] args) {
label: for (int i = 2; i <= 100; i++) {
for (int j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0) {
continue label;
}
}
System.out.println(i);
}
}
}