Java-判斷一個數是不是素數


 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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM