PrimeDetector2.java
1    package Miscellaneous;
2    
3    import javax.swing.*;
4    import java.util.ArrayList;
5    import java.util.Scanner;
6    
7    public class PrimeDetector2 {
8    
9        public static void main(String[] args) {
10       long number = getNumber("Enter number");
11       findPrimes(number);
12   }
13   
14       private static long getNumber(String prompt) {
15           String nss = JOptionPane.showInputDialog(null,prompt+"?");
16           Scanner scanner = new Scanner(nss);
17           return scanner.nextLong();
18       }
19   
20       private static void findPrimes(long number) {
21           ArrayList<Integer> PrimeNumbers = new ArrayList<>();
22           PrimeNumbers.add(2);
23           long i = 3;
24           while (i <= number){
25               long n = 0;
26               long j = PrimeNumbers.get((int) n);
27               while (j < number){
28                   if (i%j == 0) {
29                       i = i + 1;
30                       break;
31                   } else if(n < PrimeNumbers.size() - 1) {
32                       n = n + 1;
33                       j = PrimeNumbers.get((int) n);
34                   } else {
35                       PrimeNumbers.add((int) i);
36                       i = i + 1;
37                       break;
38                   }
39               }
40   
41           }
42           System.out.println("\nNumber array ...");
43           for (Integer PrimeNumber : PrimeNumbers) {
44               System.out.println(PrimeNumber);
45           }
46       }
47   }
48