is it okay to declare the "Scanner" before the main method?
I want it to be useable in every method in my program without the need of having to create it in every method again.
Is this the way to go or is there a better solution?
Yes, that will work. Much better than re‑declaring it. I would declare it in a different class and make it final, because, as you correctly said, you only need one Scanner per (single‑threaded) application. Once initialised, it never needs to be re‑assigned.I think there is a better way to get keyboard input, but you will have to devote a few hours' work to it. I have written myself a utility class. Search my posts for “utility class Scanner” and you will find it, but only in pieces which you will have to assemble. I can write...and it is so written that the problem about getting an empty line from nextLine() doesn't occur. If you use that class in any code you are giving to anybody else, please acknowledge its course in its first comment.