public class PrimeNumberTest {
public static void main(String[] args) {
boolean isFlag = true;
for(int i = 2;i <= 100;i++){
for(int j = 2;j < i;j++){
if(i % j == 0){
isFlag = false;
}
}
if(isFlag == true){
System.out.println(i);
}
isFlag = true;
}
}
}
下面进行运行时间优化一下,这次测试10000的质数
没优化之前的
优化后的代码
public class PrimeNumberTest {
public static void main(String[] args) {
//获取当前时间距离1970-01-01 00:00:00 的毫秒数
long start = System.currentTimeMillis();
boolean isFlag = true;
for(int i = 2;i <= 10000;i++){
for(int j = 2;j <=Math.sqrt(i);j++){
if(i % j == 0){
isFlag = false;
break;
}
}
if(isFlag == true){
System.out.println(i);
}
isFlag = true;
}
//获取当前时间距离1970-01-01 00:00:00 的毫秒数
long end = System.currentTimeMillis();
System.out.println("所花费的时间为:"+(end-start));
}
}
优化后所花费的时间