素数的定义:在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。即只能被1和它本身整除的数。
根据定义,我们首先用for循环嵌套if判断:输入的数能不能被大于2小于它的数整除
import java.util.Scanner;
public class exercise_3 {
static Scanner input=new Scanner(System.in);
public static void main(String[] args){
System.out.print("请输入一个整数:");
int n=input.nextInt();
for(int i=2;i<n;i++){
if(n%i==0){
System.out.println("能整除");
break; //如果i里有一个数能整除这个数,就能说明这个数不是素数了,直接打破循环输出结果就行了
}
else{
System.out.println("不能整除");
}
}
}
}
结果如下:
请输入一个整数:25
不能整除
不能整除
不能整除
能整除
Process finished with exit code 0
我们加入一个变量,让变量在if中标记一下,让输入的数只要判定一次“能整除”就输出“不是素数”,不再输出“能整除”“不能整除”。
import java.util.Scanner;
public class exercise_3 {
static Scanner input=new Scanner(System.in);
public static void main(String[] args){
System.out.print("请输入一个整数:");
int n=input.nextInt();
int a=0;
for(int i=2;i<n;i++){
if(n%i==0){
System.out.println("不是素数");
a++;
break;
}
}
if(a==0){//如果输入的数是素数,那它就一直不能被i中的数整除,a就一直没有加1,还是一开始赋的值0
System.out.println("素数");//达成上述条件的就可以输出结果“素数”了
}
}
}