2017-01-31 2 views
1

Я новичок в Java, и я только начал изучать этот язык.Почему nextLine() и не nextString()?

Есть одно, чего я не понимаю. Я должен использовать nextInt(), чтобы получить Int от пользователя. Но когда мне нужно получить строку, мне нужно написать nextLine().

Почему?

P.S: Это может звучать как глупый вопрос, но мне нужно знать :-)

+3

Я никогда не смогу понять, почему интро к Java начать с помощью сканера. Возможно, самый плохо используемый и неиспользуемый класс в API. – jdv

+0

Похоже, почему мы не называем это getInt() или readInt(), а вызываем nextXXX() ?? – RohitS

+0

«линия», вероятно, здесь лучше. если пользователь вводит 'foo bar ', строка '' foo bar "'; но что должно получиться 'nextString()' return? Просто '' foo''? – ZhongYu

ответ

0

Они являются специфическими функциями и ожидают конкретных данных, вводимых пользователем. Так они были сделаны.

Я бы выбрал http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html , чтобы получить информацию о них.

В частности, обратите внимание на http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextLine() http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextInt()

Смежные вопросы