Your first getInt from Scanner is never used - the value of usernumber is immediately re-assigned on entry into the loop. You could just delete the Scanner.getInt line before the loop. If you're worried about deleting code, just 'comment it out' - put a // at the start of the line or wrap the whole line in /* and */
When you do that, your while loop won't run because Java initialises int data members to zero if you don't initialise them to something else. You could kludge your code by initialising usernumber to 1-to-7, but that would be nasty. What your loop should really look like is (pseudocode)
if input is not valid
exit the loop
do something with the input
because validation has to follow input, it's hard to put the validation tests in the condition for the while loop. There is a way of doing it that I sometimes use and I suspect a lot of Java coders use (put the input assignment inside the condition), but it's ugly. My preference for cases like this is to 'loop forever' - use 'while(true)' - get the input and break on failed validation.