Entrée de chaînes multiples en Java à l'aide d'un scanner [avec exemple de codage]

Publié: 2021-02-05

Table des matières

introduction

Dans le package java.util, le scanner est l'une des classes qui aident à collecter plusieurs entrées des types primitifs tels que double, entier, chaînes, etc. Bien que ce ne soit pas un moyen efficace de lire les entrées dans un programme Java où le temps agit en tant que contrainte, c'est sans aucun doute l'un des moyens les plus simples de collecter plusieurs entrées de l'utilisateur. Dans ce blog, vous apprendrez à collecter plusieurs entrées de chaîne de l'utilisateur dans un programme Java à l'aide de la classe scanner.

Méthodes pour prendre plusieurs entrées à l'aide du scanner

Vous devez importer le package java.util dans un programme avant d'utiliser la classe Scanner. Le tableau suivant répertorie les méthodes utilisées pour prendre plusieurs entrées de différents types de l'utilisateur dans un programme Java.

Méthode Contributions
nextInt() Entier
nextFloat() Flotter
suivantDouble() Double
nextLong() Long
suivantCourt() Court
suivant() Un seul mot
lignesuivante() Ligne de cordes
suivantBooléen() booléen

Utilisation de la méthode Java nextLine()

La méthode java.util.Scanner.nextLine() renvoie la ligne qui a été ignorée en faisant avancer le scanner au-delà de la ligne actuelle. Si un séparateur de ligne est donné à la fin de la ligne courante, cette méthode l'exclut et renvoie le reste de la chaîne à partir de la ligne courante. Le scanner est défini au début de la ligne suivante et lit la chaîne entière, y compris les espaces blancs des mots.

La syntaxe de la méthode nextLine() est la suivante :

Chaîne publique nextLine()

Cette méthode lève les deux exceptions suivantes :

  • NoSuchElementException – Si la chaîne est vide ou si aucune ligne n'est trouvée.
  • IllegalStateException – Si le scanner est fermé.

Exemple

L'exemple suivant montre comment la méthode java.util.Scanner.nextLine() collecte plusieurs entrées de l'utilisateur.

importer java.util.Scanner ;

classe publique SacnnerDemoMultipleString

{

public static void main(String[] args)

{

Démo du scanner = nouveau scanner (System.in);

System.out.print("Veuillez saisir plusieurs entrées que vous souhaitez imprimer : ");

// prend une entrée entière

Chaîne[] chaîne = nouvelle chaîne [demo.nextInt()] ;

// consomme le <enter> de l'entrée ci-dessus

demo.nextLine();

for (int i = 0; i < string.length; i++)

{

chaîne[i] = demo.nextLine();

}

System.out.println("\nVous avez saisi l'entrée suivante : " );

// boucle for-each pour imprimer la chaîne

for(String str : chaîne)

{

System.out.println(str);

// ferme le scanner

scanner.close();

}

}

}

Le programme ci-dessus imprimera la sortie suivante

Veuillez entrer plusieurs entrées que vous souhaitez imprimer : 7

Micha

Harry

robert

Harvey

Julie

Rachel

Jenifer

Vous avez saisi l'entrée suivante :

Micha

Harry

robert

Harvey

Julie

Rachel

Jenifer

Utilisation de la méthode Java nextInt()

La méthode java.util.Scanner.nextInt() analyse l'entrée fournie par l'utilisateur sous la forme d'un entier. Si un nombre entier est trouvé, le scanner avance au-delà de l'entrée correspondante.

La syntaxe de la méthode nextInt() est la suivante :

Int public suivantInt()

Cette méthode lève les trois exceptions suivantes :

  • InputMismatchException – Si le jeton suivant ne correspond pas à l'expression régulière entière ou si le jeton suivant est hors de la plage.
  • NoSuchElementException – Si l'entrée est épuisée.
  • IllegalStateException – Si le scanner est fermé.

Exemple

L'exemple suivant montre comment la méthode java.util.Scanner.nextInt() collecte plusieurs entrées de l'utilisateur.

// Programme Java pour analyser un entier à l'aide de Scanner

// classe et affiche leur moyenne.

importer java.util.Scanner ;

classe publique ScannerDemoInteger

{

public static void main(String[] args)

{

Démo du scanner = nouveau scanner (System.in);

// Initialise la somme et le nombre d'éléments d'entrée

int somme = 0, compte = 0 ;

// Vérifie si une valeur entière est présente

tandis que (demo.hasNextInt())

{

// Scanne une valeur entière

int num = demo.nextInt();

somme += nombre ;

compter++ ;

}

int signifie = somme / compte ;

System.out.println(“Moyenne : ” + moyenne);

}

}

Le programme ci-dessus est alimenté avec l'entrée suivante :

101

223

238

892

99

500

728

Le programme ci-dessus imprimera la sortie suivante :

Moyenne : 397

Lire aussi : Projet Java MVC

Utilisation de la méthode Java nextDouble()

La méthode java.util.Scanner.nextDouble() analyse l'entrée fournie par l'utilisateur en tant que double. Si une expression régulière flottante est trouvée, l'analyseur avance au-delà de l'entrée correspondante.

La syntaxe de la méthode nextInt() est la suivante :

public double nextDouble()

Cette méthode lève les trois exceptions suivantes :

  • InputMismatchException – Si le jeton suivant ne correspond pas à l'expression régulière flottante ou si le jeton suivant est hors de la plage.
  • NoSuchElementException – Si l'entrée est épuisée.
  • IllegalStateException – Si le scanner est fermé.

Exemple

L'exemple montre comment la méthode java.util.Scanner.nextDouble() collecte plusieurs entrées de l'utilisateur.

// Programme Java pour analyser le flotteur à l'aide de Scanner

importer java.util.Scanner ;

public class ScannerDoubleRegularExpression {

public static void main(String[] args) {

Chaîne new = "Bonjour ! 3 + 3,0 = 6 vrai » ;

// écrit un nouvel objet scanner avec l'objet String spécifié

Démo du scanner = nouveau(x) scanner(s) ;

// utilise les paramètres régionaux américains pour pouvoir identifier les doublons dans la chaîne

demo.useLocale(Locale.US);

// recherche le prochain jeton double et l'imprime

tandis que (demo.hasNext()) {

// si le suivant est un double, print trouve et l'expression régulière flottante

si (demo.hasNextDouble()) {

System.out.println("Trouvé :" + demo.nextDouble());

}

// si une expression régulière double n'est pas trouvée, affiche "Not Found" et le jeton

System.out.println(“Introuvable :” + demo.next());

}

// ferme le scanner

scanner.close();

}

}

Le programme ci-dessus donnera le résultat suivant :

Non trouvé : bon

Introuvable : matin !

Trouvé : 3,0

Non trouvé : +

Trouvé : 3,0

Non trouvé : =

Trouvé : 6,0

Non trouvé : vrai

Apprenez des cours de développement de logiciels en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Conclusion

Par exemple, les codes donnés dans ce blog sont le but et peuvent être modifiés selon les besoins d'un individu. Si vous souhaitez en savoir plus sur le développement de logiciels Java et full-stack, consultez le programme Executive PG de upGrad & IIIT-B en développement de logiciels full-stack, conçu pour les professionnels en activité et offrant plus de 500 heures de formation rigoureuse, 9+ projets et affectations, statut d'ancien de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Qu'est-ce que la classe Scanner en Java ?

La classe Scanner vous permet de lire des valeurs à partir du clavier sans utiliser l'entrée console de Java. L'entrée de la console de Java est lente, tout comme sa redirection. Scanner est plus rapide et plus pratique, donc Scanner doit être utilisé à la place de l'entrée console de Java. Le scanner utilise le flux d'entrée normal de Java, il peut donc être enchaîné avec d'autres parseurs. Le scanner est également plus facile à utiliser que l'entrée de la console de Java. Scanner a trois sous-classes principales, à savoir BufferedReader, InputStreamReader et FileReader. Le plus général est BufferedReader. BufferedReader peut lire tout ce qui peut être lu par InputStreamReader, et il a un gros avantage : buffer. Le tampon peut contenir une ligne à la fois. Un flux d'entrée n'a aucun tampon : lorsque vous appelez next(), il renvoie la valeur. Cela signifie que vous devez collecter les valeurs avant de pouvoir en faire quoi que ce soit. Scanner le fait pour vous.

Qu'est-ce qu'un générateur de chaînes en Java ?

Un générateur de chaîne est un nouveau type de classe pour créer une chaîne. La classe string builder est introduite dans Java à partir de la version 1.3. Il vous permet de créer une chaîne en concaténant un certain nombre de chaînes et se redimensionne automatiquement lorsque vous y ajoutez d'autres chaînes. Par rapport à la concaténation de chaînes, l'utilisation du générateur de chaînes est plus rapide et flexible, bien qu'elle soit moins lisible. Les objets StringBuilder sont des objets utilisés pour créer des valeurs String. Les objets StringBuilder ont un certain nombre de méthodes.

Qu'est-ce qu'un InputStreamReader en Java ?

InputStreamReader lit un flux de caractères à partir d'un flux d'entrée et les décode dans un codage de caractères spécifié. Il fournit un moyen simple de convertir des flux de caractères d'un encodage à un autre. InputStreamReader lit les octets du flux sous-jacent et les convertit en caractères à l'aide de l'encodage du jeu de caractères spécifié. Il s'agit d'une classe utilisée pour convertir des données de flux d'octets en données de flux de caractères. Le flux d'octets représente les données binaires et le flux de caractères représente le texte.