1 import java.util.Scanner; 2 3 /** 4 * @author 薛定諤的貓 5 * java判斷一個數是不是素數 6 * 7 * 素數又稱質數,是指在一個大於1的自然數中,除了1和本身之外,不能被其他自然數整除的數*/ 8 public class PrimeNumber { 9 public static void main(String[] args) { 10 Scanner sc = new Scanner(System.in);//掃描器,接收控制台輸入信息 11 System.out.println("請輸入一個大於1的整數:"); 12 13 try { 14 int num = sc.nextInt();//接收控制台輸入的整數 15 16 if (isPrime(num)) {//調用isPrime()方法 17 System.out.println(num + "是素數");//若isPrime()方法返回true,輸出是素數 18 19 } else { 20 21 System.out.println(num + "不是素數");//若isPrime()方法返回false,輸出不是素數 22 } 23 24 } catch (Exception e) { 25 26 System.out.println("請輸入整數");//捕獲異常,若輸入非法數,輸出異常 27 } 28 sc.close(); 29 } 30 31 /** 32 * 用於判斷一個數是否是素數,如果是,返回true,否則返回false 33 * @param a 輸入的值 34 * @return true false*/ 35 36 public static boolean isPrime(int a) { 37 boolean flag = true; 38 39 if (a<2) {//素數不小於2 40 return false; 41 } else { 42 for(int i = 2;i<=Math.sqrt(a);i++) { 43 if (a % i == 0) {//若果能被整除則說明不是素數,返回false 44 flag = false; 45 break; 46 } 47 } 48 } 49 return flag; 50 } 51 }