En bref: si vous entrez un tableau de chaînes de longueur t, alors Scanner # nextLine () attend t lignes, chaque entrée dans le tableau de chaînes est différenciée de l'autre par la touche Entrée et Scanner # next () continuera à prendre des entrées jusqu'à vous appuyez sur Entrée mais stocke la chaîne (mot) dans le tableau, qui est séparé par des espaces.
Jetons un œil à l'extrait de code suivant
Scanner in = new Scanner(System.in);
int t = in.nextInt();
String[] s = new String[t];
for (int i = 0; i < t; i++) {
s[i] = in.next();
}
lorsque j'exécute au-dessus de l'extrait de code dans mon IDE (disons pour la longueur de chaîne 2), peu importe que j'entre ma chaîne comme
Entrez comme: - abcd abcd ou
Entrée comme: -
a B c d
a B c d
La sortie sera comme abcd
a B c d
Mais si dans le même code on remplace la méthode next () par nextLine ()
Scanner in = new Scanner(System.in);
int t = in.nextInt();
String[] s = new String[t];
for (int i = 0; i < t; i++) {
s[i] = in.nextLine();
}
Ensuite, si vous entrez l'entrée à l'invite comme - abcd abcd
La sortie est: -
abcd abcd
et si vous entrez l'entrée à l'invite comme abcd (et si vous appuyez sur Entrée pour entrer le prochain abcd dans une autre ligne, l'invite d'entrée se fermera et vous obtiendrez la sortie)
La sortie est: -
a B c d