Why nextLine() and not nextString() ?
Emily Wong
I'm new to Java and I just started learning this language.
There is one thing I don't get. I have to use nextInt() to get an Int from the user. But when I need to get a string I have to write nextLine().
Why is that?
P.S: That can sound like a stupid question but I need to know :-)
102 Answers
Consider this: nextLine return everything until next endline (\n) in form of String. Would you not think that you will retrieve everything if it was called nextString? In that case you would be posting question "why nextString() stops at endline"
tl;dr it's because it searches for endline (\n)
upd: on documenatation it refers to it as "skipped" part. I.e. cursor goes to next line and returns everything "skipped". Default output is String, so you have it: everything skipped as String.
They are specific functions and are expecting specific user inputs. That is the way they were made.
I'd check out to get information about them.