Removed class and jar files since compiled classes should not be checked in to revision control.
Their should be instructions on how to build a project once it is cloned.
2Moved nim_game.java to a src folder. This convention conforms to intellij, maven, gradle, and other java build tools. It also helps to organize the project directory by keeping all source files in a single folder.
3Added a .gitignore file to control which files are actually managed by Git.
Fix bug.
(stickCount = 0) should have been (stickCount == 0)
Made a number of small corrections and simplifications pointed out by Intellij.
Used spaces for intentation instead of a mix fo tabs and spaces. It does not matter much whether you use tabs or spaces, but it is very important to be consistent.
Made the NimGame class more object oriented. Instead of having all static methods, there is now an implicit constructor and a "startPlaying" metnod. The main class creates an instance fo the NimGame and starts it playing. The advantage of this approach is that now the NimGame can be used elsewhere (outside this class), and you could even have multiple NimGames running simultaneously.
Move the Scanner creation outside of the do loop.
Pull the game state out into a separate NimGameState class. This is an important refactor because it not only makes the code much simpler to read and understand, but now the NimGameState can be independently unit tested.
Look closely at the NimGameState class. It encapsulates all the state information about the game and contains no print statements. All the data is private, and only a minimal set of methods are exposed. Instead of simple setters, the methods correspond to expected game actions and may update multiple proerties. For example pickUpSticks(num) adjusts the number of sticks remaining, advances to the next turn, and returns true if the current player just won.
Also fixed the bug where the game does not terminate if the last move picks up more sticks than remain.
Pull out all the code for playing the Nim game into a separate method.
This makes it easier to read by clearly labelling all the code that relates to playing a single game. The original long method now looks like this:

        System.out.println("JAVA NIM");
        boolean playing;
        do {
            playing = playGame();
        } while (playing);
Test on "won" instead of "!won" in conditional to make code easier to read. Switched the if/else blocks to match.
Create a bunch of unit tests to exercise the NimGameState code and be confident that it works before making additional changes. In the process of adding tests, I found and fixed a bug where the number of sticks could drop below 0.
Use a constant for the max number of sticks that can be picked up.
Add ability to check the game state and see if the game is over. Added tests for it.
This allows refactoring out a doPlayerTurn method in NimGame that returns true if play is to continue.
Refactor out small nicely named, single purpose methods in NimGame to enhance readability and maintainability.
Fix bug in the validation when requesting the number of sticks to pick up. This regression would have been avoided if I have better unit tetst coverage.
Merge pull request #1 from LoganCSC/master

Merge with LoganCSC Version