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