CodeGym /Blog Java /Random-FR /Existe-t-il nextChar() dans la classe Scanner en Java?
Auteur
Volodymyr Portianko
Java Engineer at Playtika

Existe-t-il nextChar() dans la classe Scanner en Java?

Publié dans le groupe Random-FR
Prendre une entrée de caractères en Java n'est pas aussi simple que de prendre une entrée sous forme de chaîne ou d'entier. La classe Scanner en Java fonctionne avec nextInt() , nextLong() , nextDouble() , etc. Cependant, elle ne prend pas en charge nextChar en Java, ce qui complique légèrement la saisie de caractères. Si vous cherchez à prendre une entrée char en Java et que nextChar() ne fonctionne pas, voici comment vous pouvez prendre une entrée char correctement.

classe de scanner nextChar() en Java

Il n'y a pas de méthode classique nextChar() dans la classe Java Scanner. L'alternative la meilleure et la plus simple à la prise d'entrée char en Java serait le next().charAt(0). La commande charAt(0) est utilisée en combinaison avec la simple commande next() qui demande à Java d'enregistrer le caractère ou la chaîne suivante qui est entrée dans la ligne de commande. Cette entrée peut être une chaîne, un caractère ou un chiffre. La commande charAt est un moyen de filtrer les types de données indésirables et limite uniquement l'entrée au type de données char. Étant donné que charAt ne renvoie que la sortie sous la forme d'une valeur char, il convertit tout type de type de données en type char. Pour prendre une entrée char en utilisant Scanner et next(), vous pouvez utiliser ces deux lignes de code.

Scanner input = new Scanner (system.in);
char a = input.next().charAt(0);
Lorsque vous utilisez next() , vous indiquez à Java qu'il est sur le point d'accepter une entrée d'un type de données non spécifié. Cette entrée peut contenir un nombre infini de caractères. Cependant, en utilisant la commande charAt et en passant '0' comme index, vous ne prenez qu'un seul caractère en entrée et le stockez dans une variable. La valeur de retour de la ligne d'entrée sera un seul caractère. Puisque nous avons demandé au compilateur d'accepter n'importe quelle entrée qu'il allait recevoir ensuite, peu importe qu'un seul caractère ait été initialisé. Des exemples de codage pour accepter une entrée char en Java sont écrits ci-dessous.

import java.util.Scanner;
   public class CharExample {
       public static void main(String[] args) {
 
           //Initializing input
           Scanner input = new Scanner(System.in);
           System.out.print("Input any character: ");
 
           //Using next().charAt(0) to Accept Char Input
           char a = input.next().charAt(0);
 
           //Printing the Contents of 'a'
           System.out.println("The Variable A Contains the Following Data: " + a);
       }
   }
La sortie est:
Saisissez n'importe quel caractère : l La variable A contient les données suivantes : l
Il existe d'autres alternatives pour accepter les entrées de caractères des utilisateurs en Java. Vous pouvez utiliser reader.useDelimiter("") et reader.next() qui est également un moyen intuitif d'accomplir la tâche.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION