Maison > Java > javaDidacticiel > Pourquoi est-ce que je reçois une exception InputMismatchException lors de la lecture de valeurs doubles à partir de la console ?

Pourquoi est-ce que je reçois une exception InputMismatchException lors de la lecture de valeurs doubles à partir de la console ?

Barbara Streisand
Libérer: 2024-11-07 11:46:02
original
768 Les gens l'ont consulté

Why am I getting an InputMismatchException when reading double values from the console?

Pourquoi est-ce que je rencontre une exception InputMismatchException en essayant de saisir des valeurs doubles ?

Dans le code fourni, vous rencontrez une exception InputMismatchException car le nextDouble( ) ne gère pas correctement la saisie décimale.

Explication :

Dans votre code, vous avez la ligne suivante :

num = reader.nextDouble();
Copier après la connexion

Cette ligne tente de lire une valeur double à partir de l'entrée standard en utilisant la méthode nextDouble() de la classe Scanner. Cependant, lorsque vous saisissez une valeur double avec un point décimal (par exemple, 1,2), elle n'est pas interprétée correctement.

Solution :

Pour résoudre ce problème, vous devrait modifier votre code pour gérer la saisie décimale en modifiant le délimiteur d'entrée pour autoriser les séparateurs décimaux. Au lieu d'utiliser le délimiteur par défaut (espace), vous pouvez utiliser , (virgule) comme nouveau délimiteur, permettant à l'utilisateur de saisir des valeurs décimales telles que 1,2.

Pour ce faire, utilisez la méthode useDelimiter sur le Objet scanner avant de lire l’entrée. Voici le code modifié :

Scanner reader = new Scanner(System.in).useDelimiter(",");
Copier après la connexion

En effectuant cette modification, la méthode nextDouble() interprétera correctement la saisie décimale, et vous ne devriez plus rencontrer l'InputMismatchException.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal