求1~200之间的素数,并打印出来,并统计素数的个数。
package XT;
public class Yu5{
public static void main(String[] args) {
int a = 0; //用来储存i除j不能整除的j的个数
int b = 0; //用来储存素数的个数
for(int i = 1;i < 200;i++){
for(int j = 1;j <= i;j++){ //双重循环
if(i % j != 0)
a = a + 1; //如果i不能整除j则a加1
}if(a == i-2){ //如果a等于i-2则说明i是素数,因为素数只有两个因子
System.out.print(i+" "); //输出素数
b++; //如果i是素数则b加1
if(b % 10==0)
System.out.println(); //每打印十个数则换一行
}a=0; //一定要清零,且要放在外循环 否则结果不全
}
System.out.println();
System.out.println("1~200*有"+b+"个素数");
}
}
a=0非常重要,且位置也很重要,我当时把a=0放13与14行之间结果,就打印出两个数,看了半个小时都没看出来!!!