判定一个数字是否是素数 :只有1和自己本身之外没有任何因子的数
思想:从2到n-1去试除,如果能除尽说明它不是素数
方法一:在主函数中进行编写
import java.util.Scanner;
public class Prime{
public static void main(String[] args){
System.out.print("请输入需要查询的数字:");
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
int i = 2;
for(i =2;i < a;i++){
if (a % i == 0)
break;
}
if(i == a){
System.out.println(a +"该数是素数");
} else{
System.out.println(a +"该数是素数");
}
}
}
方法二:将判断素数写为一个方法,调用该方法
import java.util.Scanner;
public class Prime{
public static boolean isPrime(int num) {
for(int i=2;i<num;i++){
if(num % i == 0){
return false;
}
}
return true;
}
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
isPrime(a);
if(isPrime(a)== true){
System.out.println(a +"为素数");
}else {
System.out.println(a +"不是素数");
}
}
}
打印1-100之间的素数
方法一:
public class Prime{
public static boolean isPrime(int num) {
for(int i =2;i<num;i++){
if(num % i == 0){
return false;
}
}
return true;
}
public static void main(String[] args){
for(int i = 2;i <= 100;i++){
if(isPrime(i) == true){
System.out.println(i);
}
}
}
}
方法二:与上述方法不同,此方法采用Math.sqrt(num),对num进行开根号,只试除到此数开根号的数。
public class Prime{
public static boolean isPrime(int num){
for(int i = 2;i <= Math.sqrt(num);i++){
if(num % i == 0){
return false;
}
}
return true;
}
public static void main(String[] args){
for(int i = 2;i <= 100;i++){
if(isPrime(i) == true){
System.out.println(i);
}
}
}
}