用“埃氏筛法”求2~100以内的素数。2~100以内的数,先去掉2的倍数,再去掉3的倍数,再去掉5的倍数,……依此类推,最后剩下的就是素数。
要求使用数组和循环,最好使用一下增强的for语句。
import java.awt.desktop.SystemEventListener;
import java.util.Scanner;
/**
* 求一定整数范围内的质数
*/
public class GetPrimeNum {
public static void main(String[] args){
//数据输入
System.out.println("please input a start number");
Scanner sr = new Scanner(System.in);
int start = sr.nextInt();
System.out.println("please input an end number");
sr = new Scanner(System.in);
int end = sr.nextInt();
//生成数组
int[] list = new int[end-start+1];
for (int i = 0;i < list.length;i++){
list[i] = start + i;
}
//判断质数
System.out.println(start+"~"+end+"范围内质数有:");
out:for (int a : list){
for(int i = a - 1;i > 1;i--){
if (a%i == 0){
continue out;
}
}
System.out.print(a+" ");
}
}
}