1. ホーム
  2. java

[解決済み] なぜnextString()でなくnextLine()なのか?

2022-03-04 19:08:37

質問

私はJavaの初心者で、この言語を学び始めたばかりです。

ひとつだけわからないことがあります。私は nextInt() は、ユーザーからIntを取得するために使用します。しかし、文字列を取得する必要がある場合は、次のように記述する必要があります。 nextLine() .

それはなぜでしょうか?

P.S.: バカな質問に聞こえるかもしれませんが、知りたいんです :-)

どのように解決するのですか?

nextLineは、次のエンドライン(en)までのすべてをStringの形で返すとします。nextStringという名前だったら、全部取り出せると思いませんか?その場合、「なぜnextString()はendlineで止まってしまうのか?

tl;dr それはエンドラインを探すからです(˶‾᷄ -̫ ‾᷅˵)

update: ドキュメンテーションでは、この部分を "skipped" と表記しています。つまり、カーソルは次の行に進み、すべて "skipped"で返されます。デフォルトの出力はStringなので、スキップされたものはすべてStringとして出力されます。