Seul premier mot d'une phrase vu en Java
Je suis un débutant qui écrit du code Java. Je n'ai pas lu les boucles encore. Je suis juste à la hauteur des déclarations if-else. Mon code fonctionne sauf lorsque j'entre une phrase, seul le premier mot est reconnu. Si j'entre une phrase sans espaces, cela fonctionne parfaitement. Comment puis-je obtenir le code pour voir toute la phrase? Merci!
import java.util.Scanner;
public class Program04
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
System.out.println("Write a complete sentence with proper grammer:");
String sentence = keyboard.next();
boolean qMark = sentence.contains("?");
boolean wow = sentence.contains("!");
if (qMark)
System.out.println("Yes");
else if (wow)
System.out.println("Wow");
else
System.out.println("You always say that.");
}
}
3 answers
Utiliser
keyboard.nextLine();
Au Lieu de
keyboard.next();
Scanner.next()
renvoie uniquement le jeton suivant, qui, par défaut, n'est qu'un mot (délimité par des espaces). Si vous voulez la phrase entière, vous pouvez changer le délimiteur en '\n': keyboard.setDelimiter("\n");
, ou vous pouvez apprendre des boucles, puis faire une boucle sur toute la phrase.
Modifier:
Ou, comme d'autres l'ont souligné, nextLine()
. C'est plus portable parce que les mac utilisent '\r', qui ne sera pas pris avec ce que j'ai dit.