Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.47 KB | None | 0 0
  1. package fromLeonard;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. /**
  6.  * Creates a list of primes. Starts with 1, ends with a number specified in the
  7.  * constructor.
  8.  *
  9.  * @author Pi-Nerd Fisher
  10.  * @version 2.0
  11.  */
  12. public class Primes {
  13.     // instance fields
  14.     private ArrayList<Integer> foo = new ArrayList<Integer>();
  15.     private ArrayList<Integer> primes = new ArrayList<Integer>();
  16.     private int limit;
  17.     private static int LOWEST_PRIME = 2;
  18.  
  19.     // constructor
  20.     /**
  21.      * Creates a list of primes from 2 to limit.
  22.      *
  23.      * @param limit
  24.      *            The largest number to look for primes in.
  25.      */
  26.     public Primes(int limit) {
  27.         this.limit = limit;
  28.         fillList(LOWEST_PRIME);
  29.         getPrimes();
  30.     }
  31.  
  32.     // methods
  33.     private void fillList(int start) {
  34.         for (int i = start; i <= limit; i++) {
  35.             this.foo.add(i);
  36.         }
  37.     }
  38.  
  39.     private void getPrimes() {
  40.         while (!foo.isEmpty()) {
  41.             if (primes.isEmpty()) {
  42.                 primes.add(foo.get(0));
  43.                 foo.remove(0);
  44.             } else {
  45.                 if (checkPrime(foo.get(0), 0)) {
  46.                     primes.add(foo.get(0));
  47.                     foo.remove(0);
  48.                 } else {
  49.                     foo.remove(0);
  50.                 }
  51.             }
  52.         }
  53.     }
  54.  
  55.     private boolean checkPrime(int bar, int j) {
  56.         while (j < primes.size()) {
  57.             if (bar % primes.get(j) == 0) {
  58.                 return false;
  59.             } else {
  60.                 j++;
  61.             }
  62.         }
  63.         return true;
  64.     }
  65.  
  66.     /**
  67.      * Gets the list of all primes lower than the number in the constructor.
  68.      *
  69.      * @return an ArrayList with primes
  70.      */
  71.     public ArrayList<Integer> getList() {
  72.         return primes;
  73.     }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement