方法一:
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 113127 131 137 139 149151 157 163 167 173179 181 191 193 197199
进程已结束,退出代码0
总结:
1. 进行换行时,可以利用 print 与 println 的区别换行;
即像方法二那样,直接 System,.out.println ( ) ;就可以换行;
2. continue 语句中断本次循环,不会执行下面的语句;break跳过(结束)本层循环,还会执行下面的语句;
所以,方法二中不能使用 break (还会执行下面的语句),break outer(直接结束外层循环);