Java: .nextLine() et .nextDouble() différences

J'ai été la lecture de l'API pour Java, car j'avais une question sur la différence entre .nextLine() et .nextDouble(). Dans l'API, il dit cela pour .nextLine():

"Les progrès de ce scanner passé la ligne en cours et retourne à l'entrée qui a été ignoré. Cette méthode renvoie le reste de la ligne courante, à l'exclusion de toute ligne de séparation à la fin. La position est définie au début de la ligne suivante."

Assez facile...il saute la ligne actuelle vous êtes sur et puis les retours à la ligne que vous simplement ignoré. Mais pour .nextDouble(), il dit ceci:

"Analyse le prochain jeton de l'entrée, un double. Cette méthode va jeter InputMismatchException si le prochain jeton ne peut être traduite en un valide valeur double. Si la traduction est réussie, le scanner avances passé l'entrée correspondant."

Donc, est-ce à dire que .nextDouble() ne pas passer à une nouvelle ligne, et qu'il ne lit jusqu'à la fin de la double, puis s'arrête à la fin de la ligne? Cela pourrait m'aider dans la compréhension d'un programme sur lequel je travaille actuellement. Merci les gars et les filles!

oui, vous aurez besoin d'appeler nexLine vous-même si vous savez que la prochaine entrée est sur la ligne suivante après le double.
En supposant que votre Scanner est nommé scanner, si vous voulez lire un double et c'est la seule chose sur la ligne, vous pouvez faire quelque chose comme Double.parseDouble(scanner.nextLine());

OriginalL'auteur Ryan Christman | 2012-07-18