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!
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
Vous devez vous connecter pour publier un commentaire.
ne lit que les 4 octets à partir du flux d'entrée qui composent le double et ne s'avance pas à la ligne suivante, alors que nextLine (). Je pense également que vous avez besoin de comprendre qu'une nouvelle ligne est désignée par la chaîne de caractères '\n', et, évidemment, un certain nombre ne contiendra pas d'un saut de ligne, de sorte 'nextDouble()' ne 'avance' à la ligne suivante.
EDIT: Razvan est droit
Il n'a pas lu les 4 octets ... qui composent le double". scans les jeton et l'analyse en double.
j'ai édité ma réponse précédente et a mentionné que razvan a droite
OriginalL'auteur tommo
Il lit le prochain jeton (entre 2 séparer les caractères,les caractères blancs en général), pas les 4 octets. Il transforme alors le jeton à un double s'il le peut.
La 4ème jeton peut être lu à l'aide de nextDouble(). Il lit à 13 caractères et il transforme la chaîne en double si possible.
OriginalL'auteur Razvan