方法一:
public class suCount {
public static void main(String[] args){
int sum=0;
c1:for(int i=100;i<=200;i++){
for(int j=2;j<i;j++){
if(i%j==0)
continue c1;//continue中断循环,且返回外层循环,进入下一次遍历
else if(j==i-1){
System.out.print(i+" ");
sum=sum+1;//既可计算质数个数,又方便下面计算换行
if(sum%5==0) System.out.println("\n");//换行,使其美观
}
}
}
System.out.println("\n"+"100以内的质数的个数:"+sum);
}
}
101 103 107 109 113
127 131 137 139 149
151 157 163 167 173
179 181 191 193 197
199
100~200以内的质数的个数:21
方法二:
其实两种方法都是差不多的;
class Second{
public static void main(String[] args){
int n=0;
outer:for(int i=101;i<200;i++){
int k=15;
for(int j=2;j<=k;j++)
if(i%j==0) continue outer;//若有非质数,直接直接中断,不会执行下面语句
System.out.print(" "+i);
n++;
if(n<5) continue;
System.out.println();//换行
n=0;
}
}
}
101 103 107 109 113
127 131 137 139 149
151 157 163 167 173
179 181 191 193 197
199
进程已结束,退出代码0
总结:
1. 进行换行时,可以利用 print 与 println 的区别换行;
即像方法二那样,直接 System,.out.println ( ) ;就可以换行;
2. continue 语句中断本次循环,不会执行下面的语句;break跳过(结束)本层循环,还会执行下面的语句;
所以,方法二中不能使用 break (还会执行下面的语句),break outer(直接结束外层循环);