5.(1-100/1-1000)质数(嵌套for)
#法一
class doublefor { public static void main(String[] args) { int i,j; System.out.println("质数:"); for(i=2;i<=100;i++) { for(j=2;j<i;j++){ if(i%j==0) { break; } } if(i==j) { System.out.print(j); System.out.print(" "); } } } }
#法二(优化Math.sqrt();)
class doublefor { public static void main(String[] args) { long start =System.currentTimeMillis(); int i,j; boolean isFlag=true; System.out.println("质数:"); for(i=2;i<=1000;i++) { for(j=2;j<=Math.sqrt(i);j++){ if(i%j==0) { isFlag=false; break; } } if(isFlag==true) { System.out.print(i); System.out.print(" "); } isFlag=true; } System.out.println();//换行 long end =System.currentTimeMillis();//计时器 System.out.print(end-start); } }
#法三(标签label/continue)
class doublefor { public static void main(String[] args) { int i,j; System.out.println("质数:"); label:for(i=2;i<=100;i++) { for(j=2;j<=Math.sqrt(i);j++){ if(i%j==0) { continue label; } } System.out.print(i); System.out.print(" "); } } }