方法一:
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(直接結束外層循環);