import java.util.Scanner;
import java.lang.Math;
class DemoPrintPrime {
public static void main(String[] args) {
//设置键盘录入
Scanner sc = new Scanner(System.in);
//输出提示
System.out.println("请输入一个正整数:");
//定义变量,存储键盘录入值
int getNum = 0;
//定义计数器
int cout = 0;
//定义一个判断该数是否为质数的变量
boolean key = true;
try {
//获取键盘录入,存入变量中
getNum = sc.nextInt();
}catch (Exception ex) {
//捕捉异常给出提示
System.out.println("数据类型输入错误!");
return;
}
if (getNum <= 1) {
//当键盘录入数据小于1,时给出提示
System.out.println("0~"+getNum +"范围内没有质数!");
return;
}
//输出提示语句
System.out.println("0~"+getNum + "以内的所有质数:");
//用for循环,判断2到getNum范围内中哪些是质数
for (int i = 2;i <= getNum ;i++ ) {
for (int j = 2;j <= Math.sqrt(i) ;j++ ) {
if(i % j == 0) {
//如果一个数能被除了1和它本身整除,则这个数不是质数
key = false;
break;
}else {
//如果不能被除了1和它本身整除,则这个数是质数
key = true;
}
}
if (key) {
//输出质数,并将计数器自增
cout++;
System.out.print(i + " ");
}
}
System.out.println();
//输出质数的个数
System.out.println("质数个数为: " + cout);
}
} |
|