输入一个数判断它是否为质数
质数的定义为只能被自己和1整除的数且不等于1
方法一
System.out.println("请输入一个整数:");
int num = input.nextInt();
//标记变量 标记程序的某个状态
boolean flag = false;
for(int i = 2;i < num / 2;i++){ // i 表示 2-比num小的所有数
//在循环中 用num 与 比他小的数 求余
if(num % i == 0){
// 余数为0时 则说明 num与某一个除了1和其本身以外的数能够整除
flag = true;
break;
}
//当循环结束,都没有进入if语句的话,是不是说明这个数
//只能与1和其本身整除 -- 素数
if(flag == false){
System.out.println("素数");
}else {
System.out.println("不是素数");
}
方法二
System.out.println("请输入一个正整数"); double number2=input.nextDouble(); /*用于记录该数整除次数*/ int a=0; for (double j=1;j<=number2;j++){ if (number2%j==0) { a++; } } /*如果次数大于2而且不等于1,则说明该数被除了自身和1的其他数整除 所以不是质数*/ if (a>2||number2==1){ System.out.println("这个数不是质数"); /*如果小于2则表示这个数只被自身和1整除*/ }else { System.out.println("这个数是质数"); }