思路:质数也叫素数,质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。所以我们在java中使用这个数模(%)它的所有因子来判断它有没有1和它本身以外的数,话不多说直接上代码`
import java.util.Scanner;
public class Test{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("请输入一个数:");
int num = input.nextInt();
boolean isPrime = true;//假设这个数是质数
for(int i=2;i<num;i++){//如果这个数不是质数则标志位是isPrime是false
if(num%i==0){
isPrime = false;
break;
}
}
if(isPrime)System.out.println(num+"是质数");
else System.out.println(num+"是合数");
}
}
第二种解法:
import java.util.Scanner;
public class Test2{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("请输入一个数:");
int num = input.nextInt();
int count = 0 ;//设置一个计数器
for(int i=2;i<num;i++){
if(num%i==0){
count++;//计数器加1来记录它被它的因子除了多少次
}
}
if(count==0)System.out.println(num+"是质数");
else System.out.println(num+"是合数");
}
}