public static void main(String[] args) {
int count=0;
for(int i=1;i<=100;i++) {
//int count=0; //没有每行10个的效果
if(isPrime(i)) {
System.out.print(i+" ");
count++;
}
if(count%10==0) {
System.out.println();
}
}
}
public static boolean isPrime(int num) {
boolean flag=true;
for(int i=2;i1;i++) {
if(num%i==0) {
flag=false;
break;
}
}
return flag;
}
放到for里面,岂不是每次for循环就重新设置为0了啊。你是要统计for循环过程中素数的数量,当然要在for循环外定义啊
写在for循环里面每次循环都会把count的值变为0
count在for循环外初始化,for循环中发现1个素数+1。count%10==0是判断count对10取取模的结果为0,即count是10的倍数时,所以每行10个。
计算机语言是一门语言
只不过它是用来和计算机说话用的而已
你把它翻译成人话再好好想想
如果放在for外面,那么我告诉你先记住一个数0,每隔一会我告诉你把这个数+1
如果放在for里面,那么每隔一会我告诉你记住一个数是0,然后我再让你+1
你觉得一样吗