Optimized calculateOddPrimes() by renaming J to testNumber and JPRIME to isTestNumberPrime.

To make the variable names more meaningful.
Changed the starting condition of the for loop in calculateOddPrimes() to correct the mistake of printing out multiples of 5 as prime numbers.

The program was mistakenly printing out multiples of 5 as prime
numbers, correcting the starting condition of the for loop would fix
this problem.
Changed the variables names of ORD to index, ORDMAX to maxIndex, SQUARE to squareOfPrime, MULT to multiples, and N to indexOfMultiples.

To make the variable names more meaningful.
Made the local variables of calculateOddPrimes() global, in order to refactor this huge method.

It is extremely hard to read this huge chunk of code, so it's better to
refactor it into smaller and more understandable methods.
Changed the spacing slightly to make all the methods start at the same column.
Moved the initialization of multiples[] back to calculateOddPrimes().

There was an exception because of maxIndex. Moving the initialization
of multiples[] back to the method calculateOddPrimes() would solve this
problem.
Refactored calculateOddPrimes() by creating a new method calculateNextPrime() using the while loop.

This way, it is made clear what the purpose of the while loop is.
Added some spaces inside calculateNextPrime() to make the code less condensed and more readable.

It is easier to read if the code is separated into smaller chunks.