Introduction à la saisie utilisateur Java

Dans le programme Java, il y a 3 façons de lire les entrées de l'utilisateur dans l'environnement de ligne de commande pour obtenir les entrées utilisateur, Java BufferedReader Class, Java Scanner Class et Console class. Laissez-nous discuter des classes en détail. Nous utilisons la classe Scanner pour obtenir une entrée utilisateur. Ce programme demande à l'utilisateur d'entrer un entier, une chaîne et un flottant, et il sera imprimé sur l'écran. La classe du scanner dans java.util est présente pour que nous puissions ajouter ce package à notre logiciel. Tout d'abord, nous créons un objet Scanner Class et utilisons la méthode Scanner Class.

3 modes d'entrée utilisateur Java

Il existe trois façons de lire l'entrée utilisateur:

  1. Classe Java BufferedReader.
  2. Classe de scanner Java.
  3. Utilisation de la classe console.

Ces trois classes sont mentionnées ci-dessous, laissez-nous en discuter en détail:

1. Classe Java BufferedReader

Il étend la classe des lecteurs. BufferedReader lit les entrées du flux d'entrée de caractères et met les caractères en mémoire tampon afin de fournir une lecture efficace de toutes les entrées. La taille par défaut est grande pour la mise en mémoire tampon. Lorsque l'utilisateur fait une demande de lecture, la demande correspondante va au lecteur et il fait une demande de lecture des flux de caractères ou d'octets, donc la classe BufferedReader est enroulée autour d'autres flux d'entrée tels que FileReader ou InputStreamReaders.

Par exemple:

BufferedReader reader = new BufferedReader(new FileReader(“foo.in”));
BufferedReader can read data line by line using method readLine() method.
BuffredReader can make the performance of code faster.

Constructeurs

BufferedReader a deux constructeurs comme suit:

1. BufferedReader (lecteur lecteur)

Utilisé pour créer un flux de caractères d'entrée mis en mémoire tampon qui utilise la taille par défaut d'un tampon d'entrée.

2. BufferedReader (lecteur de lecteur, taille d'entrée)

Utilisé pour créer un flux de caractères d'entrée mis en mémoire tampon qui utilise la taille fournie pour un tampon d'entrée.

Les fonctions
  • int read: Il est utilisé pour lire un seul caractère.
  • int read (char () cbuffer, int offset, int length): il est utilisé pour lire les caractères dans la partie spécifiée d'un tableau.
  • String readLine (): utilisé pour lire l'entrée ligne par ligne.
  • boolean ready (): Utilisé pour tester si le tampon d'entrée est prêt à lire.
  • saut long: utilisé pour sauter les caractères.
  • void close (): il ferme le tampon de flux d'entrée et les ressources système associées au flux.

Lorsque l'utilisateur entre le caractère à partir du clavier, il est lu par le tampon du périphérique, puis à partir de System.in, il passe au lecteur tamponné ou au lecteur de flux d'entrée et est stocké dans le tampon d'entrée.

Code:

import java.util.*;
import java.lang.*;
import java.io.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*package whatever //do not write package name here */
class BufferedReaderDemo (
public static void main (String() args) throws NumberFormatException, IOException (
System.out.println("Enter your number");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());
System.out.println("Number you entered is: " + t);
System.out.println("Enter your string");
String s = br.readLine();
System.out.println("String you entered is: " + s);
)
)

Production:

Programme avec lecture depuis InputStreamReader et BufferedReader:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BufferedReaderDemo (
public static void main(String args()) throws IOException(
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(reader);
System.out.println("What is your name?");
String name=br.readLine();
System.out.println("Welcome "+name);
)
)

Production:

2. Classe de scanner Java

La classe java.util.scanner est l'une des classes utilisées pour lire les entrées utilisateur à partir du clavier. Il est disponible dans le package util. Les classes de scanner cassent l'entrée utilisateur en utilisant un délimiteur qui est principalement des espaces blancs par défaut. Le scanner dispose de nombreuses méthodes pour lire les entrées de console de nombreux types primitifs tels que double, int, float, long, Boolean, short, byte, etc. C'est le moyen le plus simple d'obtenir des entrées en java. La classe Scanner implémente les interfaces Iterator et Closeable. Le scanner fournit nextInt () et de nombreuses méthodes de type primitif pour lire les entrées des types primitifs. La méthode next () est utilisée pour les entrées de chaîne.

Constructeurs
  • Scanner (File source): Il construit un scanner pour lire à partir d'un fichier spécifié.
  • Scanner (File source, String charsetName): Il construit un scanner pour lire à partir d'un fichier spécifié.
  • Scanner (source InputStream), Scanner (source InputStream, String charsetName): Il construit un scanner pour lire à partir d'un flux d'entrée spécifié.
  • Scanner (0Readable source): Il construit un scanner pour lire à partir d'une source lisible spécifiée.
  • Scanner (String source): Il construit un scanner pour lire à partir d'une source de chaîne spécifiée.
  • Scanner (source ReadableByteChannel): Il construit un scanner pour lire à partir d'une source de canal spécifiée.
  • Scanner (source ReadableByteChannel, String charsetName): Il construit un scanner pour lire à partir d'une source de canal spécifiée.
Les fonctions

Ci-dessous sont mentionnés la méthode pour analyser les types primitifs de l'entrée de la console à la classe Scanner.

  • nextInt (),
  • nextFloat (),
  • nectDouble (),
  • nextLong (),
  • nextShort (),
  • nextBoolean (),
  • nextDouble (),
  • nextByte (),

Programme pour lire depuis Scanner Class:

Using scanner class.
import java.util.Scanner;
/*package whatever //do not write package name here */
class ScannerDemo (
public static void main (String() args) (
Scanner sc = new Scanner(System.in);
System.out.println("Enter your number");
int t = sc.nextInt();
System.out.println("Number you entered is: " + t);
System.out.println("Enter your string");
String s = sc.next();
System.out.println("String you entered is: " + s);
)
)

Production:

3. Utilisation de la classe console

Utilisation de la classe console pour lire l'entrée à partir de l'interface de ligne de commande. Cela ne fonctionne pas sur IDE.

Code:

public class Main
(
public static void main(String() args)
(
// Using Console to input data from user
System.out.println("Enter your data");
String name = System.console().readLine();
System.out.println("You entered: "+name);
)
)

Production:

Articles recommandés

Ceci est un guide de la saisie utilisateur Java. Ici, nous discutons des 3 façons dont nous pouvons lire les entrées utilisateur Java de l'utilisateur dans l'environnement de ligne de commande. Cet article vous donne une idée de base de toutes les entrées que vous pouvez explorer en utilisant Java. Vous pouvez également consulter l'article suivant.

  1. Surcharge en Java
  2. SpringLayout en Java
  3. JFrame en Java
  4. Classe Wrapper en Java