Playing “craps” for the win v0.3
Much of this is nitpicking, but since you keep posting revisions, you seem to want a really thorough review.


The parameter name pCrap to UseCraps.declareResult() isn't explanatory. Try renaming it to something like game instead.
I suggest doing the same for crapObj in main().
getGameResult() should probably be named getState() or something similar, since result implies that it has finished, and there is an UNDEFINED state.
Speaking of which, the state isn't really undefined, it's just unfinished. It should be renamed to something that doesn't imply an error condition.
To be super finicky, you could be declaring your local variables randN, currentNumber, crapObj, point, and inputScan as final.
In Craps.rollDice() you could just return the value instead of storing it in a variable and then immediately returning. The method should also be private.
UseCraps.declareResult() should be private.
In UseCraps.waitUser() you don't need to store the line in input since you don't use it.
Your switch in UseCraps.declareResult() doesn't have a default.
The Craps class should only expose one roll method. It may make sense to keep the two as separate private ones, but you should simplify what your callers need to do to use your class. Consider what happens if someone calls firstRoll and never calls moreRolls, or if they call moreRolls first, or if they go back and forth.
Consider adding a reset method to Craps so you can start a new game without having to create a new instance.
You should check if you are already in a win state when someone calls roll.