/*
输出任意两个数之间的素数并统计其个数和所用时间
思路二:利用continue的特性来解决
continue是跳出当次循环结构,默认是跳出最近的循环结构体,但是可以通过给外循环插入标签的方法,来之间跳出外循环。
*/
import java.util.Scanner;
class PrimeNumber2{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("输入下限整数");
int number1 = scan.nextInt();
System.out.println("输入上限整数");
int number2 = scan.nextInt();
int count = 0;//计数器
long time1 = System.currentTimeMillis();//计时器
System.out.println(number1 + "到" + number2 + "之间的素数有:");
lable : for (int i = number1;i <= number2 ; i++){ //遍历number1到number2之间的每一个数
for (int j = 2;j <= Math.sqrt(i); j++){//每一个数字都从2开始除
if(i % j == 0){
continue lable;//如果这个数被分解了,就下一个数来
}
}
//运行到这一步的就不能被分解,就是素数了。
System.out.print(i + " ");
count ++;
if(count % 6 == 0){//每行输出6个
System.out.println(" ");
}
}
long time2 = System.currentTimeMillis();
System.out.println(" ");
System.out.println(number1 + "到" + number2 + "之间的素数有" + count + "个!"
+ "用时" + (time2 - time1) + "ms");
}
}
运行结果: