Java >> Tutoriel Java >  >> Tag >> class

Classe de scanner Java | importer | nextline, nextint, exception et exemples

Classe Scanner Java se trouve dans le package java.util. La classe Scanner est utilisée pour obtenir l'entrée des types de données primitifs tels que Strings, int, double, etc. Elle casse l'entrée à l'aide d'un modèle (regex), où la correspondance par défaut des expressions régulières est un espace. C'est le moyen le plus simple d'obtenir des entrées dans le programme Java.

Dans ce tutoriel, vous apprendrez comment importer une classe Scanner en Java, à quoi ça sert, comment l'utiliser, les méthodes importantes et de nombreux exemples.

Syntaxe de l'analyseur Java

Une syntaxe très simple de la classe Scanner, après import java .util package créer un objet scanner. Ensuite, utilisez n'importe quelle méthode.

Scanner sc = new Scanner(System.in);
     int i = sc.nextInt();

Comment importer Scanner Java

Classe de scanner d'importation Java au démarrage du programme à l'intérieur du fichier java.

import java.util.Scanner;  // Import the Scanner class

Exemple d'analyseur Java

Voyons le simple lecteur de chaîne du scanner Java. Où le type d'entrée est une chaîne lue à partir d'une console.

import java.util.Scanner;
 
public class Hello {
 
        public static void main(String[] args) {
            // Creating a Scanner object
            Scanner scanObj = new Scanner(System.in);
            System.out.println("Enter your name");
 
            // Read user input from console
            String input = scanObj.nextLine();
            System.out.println("You Entered: " + input);  // print user input
    }
}

Sortie :GIF avec structure de code. Pour utiliser une classe scanner en java, vous devez importer – import java .util forfait ou importez java.util.Scanner

Types d'entrée dans le scanner

L'exemple ci-dessus a été utilisé les méthodes du scanner Java nextLine(), qui sont utilisées pour obtenir une entrée de chaîne.

Mais la classe de scanner Java prend en charge toutes les entrées de type primitif. Lisez la liste ci-dessous des types de données de liste d'entrée pris en charge avec les méthodes de scanner. Ceux-ci sont également appelés types d'entrée dans la classe scanner.

Type de données Méthode Description
booléen suivantBooléen() Lire booléen valeur et renvoie cette valeur.
octet nextByte() Lire l'entrée sous la forme d'un octet .
doubler suivantDouble() Lire l'entrée comme un double .
flottant nextFloat() Lire l'entrée en tant que floa l .
entier nextInt() Lire l'entrée comme un int .
Chaîne lignesuivante() Lit une chaîne valeur de l'utilisateur.
longue suivantLong() Lire l'entrée comme un long.
court nextShort() Lire l'entrée comme un court .

Exemple de différentes méthodes de types d'entrée dans la classe Scanner

Voyons un par un la méthode des exemples de classe Scanner. Nous ne couvrons pas tous les types de méthodes, la plupart sont les mêmes, vous pouvez le faire vous-même. Chaque exemple a des lignes de code, seules les autres parties comme l'importation et les méthodes mani sont les same exemple ci-dessus.

Scanner suivantInt

Une méthode est utilisée pour lire la prochaine entrée en tant que type de date int.

Scanner scanObj = new Scanner(System.in);
        System.out.println("Enter number");
        int input = scanObj.nextInt();
        System.out.println(" " + input);

Scanner nextLine

Méthode Java Scanner nextLine utilisée pour lire le type d'entrée de chaîne.

Scanner myObj = new Scanner(System.in); 
        System.out.println("Enter username");

        String userName = myObj.nextLine();  
        System.out.println("Username is: " + userName);

Scanner Java nextDouble

Une méthode nextDouble est utilisée pour la course de données de type Double en Java. Même vous entrez la valeur int dans la console il sera converti en double valeur.

Scanner myObj = new Scanner(System.in);
        System.out.println("Enter a double value");

        double value = myObj.nextDouble();
        System.out.println("value is: " + value);

Sortie : Entrez un double évaluer
0
la valeur est :0.0

L'analyseur Java suivant

byte value = myObj.nextByte();

Exception de classe de scanner

Une méthode de scanner nextInt générera une erreur si vous entrez la chaîne dans une console. Voir l'exemple ci-dessous.

import java.util.Scanner;

public class Hello {

    public static void main(String[] args) {

        Scanner myObj = new Scanner(System.in);
        System.out.println("Enter number only ");

        int value = myObj.nextInt();
        System.out.println("value is: " + value);
    }
}


Remarque :L'utilisation d'un bloc try-catch peut empêcher - l'exception du scanner Java.

Sortie : Voir ci-dessous GIF lorsque vous entrez le nombre est correct mais si la chaîne, il lancera une erreur - "java.util.InputMismatchException

Autre méthode importante et exemples

Les méthodes hasNext() et next() sont utiles, voir exemples.

Méthode hasNext()

La méthode Scanner hasnext Renvoie vrai si ce scanner a un autre jeton dans son entrée. En utilisant cette méthode, vous pouvez arrêter une boucle ou toute déclaration de condition dans le programme.

import java.util.Scanner;

public class Hello {

    public static void main(String[] args) {
        String s = "Hello World !";


        Scanner scanner = new Scanner(s);
        System.out.println("" + scanner.hasNext());


        System.out.println("" + scanner.nextLine());

        System.out.println("" + scanner.hasNext());

        // close the scanner
        scanner.close();
    }
}

Sortie :

Méthode suivante()

La méthode Scanner next recherche et renvoie le prochain jeton complet de ce scanner. Un jeton complet est précédé et suivi de l'entrée qui correspond au modèle de délimiteur.

import java.util.Scanner;

public class Hello {

    public static void main(String[] args) {
        String s = "Hello World !";


        Scanner scanner = new Scanner(s);
        System.out.println("" + scanner.next());
        System.out.println("" + scanner.next());

        scanner.close();
    }
}


Sortie : Bonjour
Monde

Comment obtenir le prochain caractère du scanner ?

Réponse : En utilisant la méthode Scanner.next(), vous pouvez prendre le premier ou n'importe quel caractère de la chaîne.

Scanner scanner = new Scanner(s);
        char c = scanner.next().charAt(0);
        System.out.println(c);

Comment lire un fichier .txt à l'aide de la classe Scanner en Java ?

Répondre :fichier d'analyse Java

import java.io.File;
import java.util.Scanner;

public class Hello {

    public static void main(String[] args) throws Exception {
        File file=new File("test.txt");
        Scanner sc=new Scanner(file);
        while(sc.hasNextLine()){
            System.out.println(sc.nextLine());
        }
    }
}

Cette classe a été introduite depuis la version 1.6 de Java, ce sont donc la plupart des méthodes qui fonctionnent sur la dernière et l'ancienne version de Java 8, etc. N'hésitez pas à nous contacter si vous avez des doutes et des suggestions.

Remarque : Cet exemple (Project) est développé dans IntelliJ IDEA 2018.2.6 (Community Edition)
JRE :11.0.1
JVM : OpenJDK VM serveur 64 bits par JetBrains s.r.o
macOS 10.14.1
Java 11
Tous Classe d'analyseur Java est dans Java 11, il peut donc changer selon Java 9 ou 10 ou les versions mises à niveau.


Balise Java