方法一:设置flag变量,标记循环的时候数是否为质数,若是则为true并且输出,若不是则设置false不输出
public class testzhishu {
public static void main(String[] args) {
//求出100内的所有质数,主要设置flag,若不是质数则flag设置为false这样就不会输出
for(int i=2;i<=100;i++){
boolean flag=true;
for(int j=2;j<i;j++){
if(i%j==0){
flag=false;
break;//break不加的话效率更低,加上去之后效率会更高
}
}
if(flag==true){
System.out.println(i);
}
}
}
}
//下面是上面的进一步优化
public static void main(String[] args) {
//求出100内的所有质数,主要设置flag,若不是质数则flag设置为false这样就不会输出
for(int i=2;i<=100;i++){
boolean flag=true;
for(int j=2;j<Math.sqrt(i);j++){
if(i%j==0){
flag=false;
break;
}
}
if(flag==true){
System.out.println(i);
}
}