usingMaths.com
From Theory to Practice - Math You Can Use.







<< PreviousNext >>

How to Code Prime Number Algorithms in Java - Fun Students Activity



Randomness of Prime Numbers | Maths Explanation for Java Kids

Prime numbers are natural numbers greater than 1 with no positive divisors other than 1 and itself. Prime numbers, in ascending order, are:

2, 3, 5, 7, 11, 13, 17, 19, 23, ...

Because prime numbers are so random in their progression, they are very difficult to predict as they get larger.
For the reason of their unpredictability, prime number are applied in

  • Cryptography: RSA encryption relies on large prime numbers.
  • Hashing: Prime numbers help reduce collisions in hash functions.
  • Data structures: Primes are used in sizing hash tables and optimizing algorithms.

In this beginner-friendly Maths Java tutorial for kids, we'll show how to list prime numbers in a fun and interactive way for STEM students.
Writing code in Java to list prime numbers will involve checking every number in a range of interest and gathering those that are without factors.


Logic for Determining Prime Numbers | Detailed Explanation for Java Kids

Say we want to implement a Java algorithm to list all prime numbers between 2 and 100 inclusive, we would start from 2; check to see whether it has any factors; keep it as a prime number if it has no factors; otherwise discard it.
We would then go to 3, and repeat the same process.
Repeat same for 4, 5, 6, 7, ..., 98, 99, 100.

But we can always use a few tricks for the Java algorithm...

We will take the following steps:
Step 1:

First, we'll start our range from 9 (keeping 2, 3, 5, and 7 as prime numbers).

Step 2:

Next, we'll only check through odd numbers.

Step 3:

Next, we'll check against the factors 2, 3, and 5.

Step 4:

Lastly, we'll check with a subset of smaller prime numbers that we'll gather as our check progresses.


Create a new Java class file; File, New File.
Call it PrimeNumbers.

Type out the adjoining Java code for listing prime numbers.


Note: You can comment out the Java code for the main class from the previous lesson if you have been following.


So! Java Fun Practice Exercise - List Prime Numbers

As a fun practice exercise, feel free to try out your own boundary values, and see how the Java code lists the prime numbers between those boundary values.







Java Code for Prime Numbers class.

package arithmetic;

import java.util.ArrayList; // We are using an array list.
import java.util.List;

public class PrimeNumbers {

    private final List<Integer> list_of_primes// We will house our gathered prime numbers here.
    private final int start// Where to start.
    private final int stop// Where to stop.
    private int progress// progress report
    private int index// index into array list_of_primes
    private double square_root// Our loop range for speed enhancement
    private boolean do_next_iteration;

    public PrimeNumbers(int first, int last) {
        start = first;
        stop = last;
        // STEP 1:
        progress = 9;

        list_of_primes = new ArrayList<>();
        list_of_primes.add(2);
        list_of_primes.add(3);
        list_of_primes.add(5);
        list_of_primes.add(7);

        square_root = 0;
    }

    /**
     * Garners the prime numbers between the requested range.
     *
     * @return String value
     */

    public String getPrimes() {
        // STEP 2:
        for (; progress < stopprogress += 2) {
            
            do_next_iteration = false// a flag

            // STEPS 3, 4:
            // Check through already accumulated prime numbers
            // to see if any is a factor of "progress".
            square_root = (int) Math.ceil(Math.sqrt(progress));

            index = 0;
            for (; list_of_primes.get(index) <= square_rootindex++) {
                if ((progress % list_of_primes.get(index)) == 0) {
                    do_next_iteration = true;
                    break;
                }
            }
            if (do_next_iteration) {
                continue;
            }

            // if all checks are scaled,then "progress" is our guy.
            list_of_primes.add(progress);
        }

        // Display result.
        return ("The set of prime numbers between " + start + " and " + stop
                + " are: \n" + list_of_primes);
    }
}

Java Code for Prime Numbers - Main Class.

package arithmetic;

public class Arithmetic {

    public static void main(String[] args) {
        System.out.println("Welcome to our demonstration sequels");
        System.out.println("Hope you enjoy (and follow) the lessons.");
        System.out.println("");
        
        /*
        * List Prime Numbers.
         */

        PrimeNumbers my_list = new PrimeNumbers(5, 500);
        System.out.println(my_list.getPrimes());
    }

}




<< PreviousNext >>