Le scanner lit uniquement le premier mot au lieu de la ligne
Dans mon programme actuel d'une méthode demande à l'utilisateur d'entrer la description d'un produit comme String
d'entrée. Toutefois, lorsque plus tard, j'ai tenter d'imprimer ces informations, seul le premier mot de la String
montre. Ce qui pourrait être la cause de cela? Ma méthode est comme suit:
void setDescription(Product aProduct) {
Scanner input = new Scanner(System.in);
System.out.print("Describe the product: ");
String productDescription = input.next();
aProduct.description = productDescription;
}
Donc, si la saisie de l'utilisateur est "Pétillant de soude avec la saveur d'orange", la System.out.print
ne yield "Mousseux".
Toute aide sera grandement appréciée!
source d'informationauteur Kristian
Vous devez vous connecter pour publier un commentaire.
Remplacer
next()
avecnextLine()
:Utilisation
input.nextLine();
au lieu deinput.next();
La la documentation javadoc pour Scanner répondre à votre question
Vous pouvez modifier la valeur par défaut des espaces le modèle du Scanner à l'aide en faisant quelque chose comme
d'entrée.next() dans la première whitsepace délimité par parole de la chaîne d'entrée. Donc, par conception, il fait ce que vous avez décrit. Essayez
input.nextLine()
.Javadoc à la rescousse :
nextLine
est probablement la méthode que vous devez utiliser.