Advertisement
brilliant_moves

PrimesFromArray3.java

May 22nd, 2015
418
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 1.45 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.ArrayList;
  3.  
  4. public class PrimesFromArray3 {
  5.  
  6.     /**
  7.     *   Program:    PrimesFromArray3.java
  8.     *   Purpose:    How to get prime numbers from an array using function
  9.     *   Creator:    Chris Clarke
  10.     *   Created:    22.05.2015
  11.     *   Version:    Function getPrimes() returns array
  12.     */
  13.  
  14.     public static boolean isPrime(int k) {
  15.         if (k<2) {
  16.             return false;       // 1 has only 1 unique divisor
  17.         } // if             // so it's not prime
  18.  
  19.         int sqrt = (int) Math.sqrt(k);  // calculate square root of k
  20.  
  21.         for (int j=2; j<=sqrt; j++) {   // iterate from 2 to root of k
  22.             if (k%j==0) {       // if j is a divisor of k...
  23.                 return false;   // ...k is not prime
  24.             } // end if
  25.         } // for
  26.  
  27.         return true;            // k is prime
  28.     } // isPrime()
  29.  
  30.     public static int[] getPrimes(int[] theArray) {
  31.         // create array list
  32.         ArrayList<Integer> arl = new ArrayList<Integer>();
  33.  
  34.         // populate arraylist with primes
  35.         for (int i: theArray) {
  36.             if (isPrime(i)) {
  37.                 arl.add(i);
  38.             } // if
  39.         } // for
  40.  
  41.         // create primes array
  42.         int[] primes = new int[arl.size()];
  43.  
  44.         // copy values from arraylist to array
  45.         for (int i=0; i<arl.size(); i++) {
  46.             primes[i] = arl.get(i);
  47.         } // for
  48.  
  49.         // return array
  50.         return primes;
  51.        
  52.     } // getPrimes()
  53.  
  54.     public static void main(String[] args) {
  55.         int[] theArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
  56.         int[] primes = getPrimes (theArray);
  57.         System.out.println (Arrays.toString (primes));
  58.     } // main()
  59.  
  60. } // class PrimesFromArray3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement