Maison  >  Article  >  Java  >  Entrée utilisateur Java

Entrée utilisateur Java

WBOY
WBOYoriginal
2024-08-30 16:06:42612parcourir

Dans le programme Java, il existe 3 façons de lire les entrées de l'utilisateur dans l'environnement de ligne de commande pour obtenir les entrées de l'utilisateur, la classe Java BufferedReader, la classe Java Scanner et la classe Console. Discutons des cours en détail. Nous utilisons la classe Scanner pour obtenir les entrées de l'utilisateur. Ce programme demande à l'utilisateur de saisir un entier, une chaîne et un flottant, et il sera imprimé à l'écran. La classe scanner dans java.util est présente afin 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 méthodes de saisie utilisateur Java

Il existe trois façons de lire la saisie de l'utilisateur :

PUBLICITÉ Cours populaire dans cette catégorie MAÎTRISÉE JAVA - Spécialisation | 78 séries de cours | 15 tests simulés

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

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

Ces trois classes sont mentionnées ci-dessous ; discutons-en en détail :

1. Classe Java BufferedReader

Cela étend la classe de lecteur. BufferedReader lit les entrées du flux de saisie 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 est adressée au lecteur, qui effectue une demande de lecture des flux de caractères ou d'octets ; ainsi, la classe BufferedReader est enroulée autour d'un autre flux d'entrée tel que FileReader ou InputStreamReaders.

Par exemple :

BufferedReader reader = new BufferedReader(new FileReader("foo.in"));

BufferedReader peut lire les données ligne par ligne en utilisant la méthode readLine().

BufferedReader peut accélérer les performances du code.

Constructeurs

BufferedReader a deux constructeurs comme suit :

1. BufferedReader (Reader reader) : 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 Reader, 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.

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 les entrées ligne par ligne.
  • boolean ready() :  Utilisé pour tester si le tampon d'entrée est prêt à être lu.
  • long skip : Utilisé pour sauter les caractères.
  • void close() : Il ferme le tampon du flux d'entrée et les ressources système associées au flux.

Lorsque l'utilisateur saisit le caractère à l'aide du clavier, il est lu par le tampon de l'appareil, puis depuis System.in, il est transmis 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);
}
}

Sortie :

Entrée utilisateur Java

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);
}
}

Sortie :

Entrée utilisateur Java

2. Classe de scanner Java

java.util. La classe scanner est l'une des classes utilisées pour lire les entrées de l'utilisateur à partir du clavier. Il est disponible dans le package util. Les classes de scanner interrompent les entrées de l'utilisateur à l'aide d'un délimiteur composé principalement d'espaces 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 de types primitifs. La méthode next() est utilisée pour les entrées de chaîne.

Constructors
  • Scanner(File source): It constructs a scanner to read from a specified file.
  • Scanner(File source, String charsetName):  It constructs a scanner to read from a specified file.
  • Scanner(InputStream source), Scanner(InputStream source, String charsetName): It constructs a scanner to read from a specified input stream.
  • Scanner(0Readable source):  It constructs a scanner to read from a specified readable source.
  • Scanner(String source):  It constructs a scanner to read from a specified string source.
  • Scanner(ReadableByteChannel source): It constructs a scanner to read from a specified channel source.
  • Scanner(ReadableByteChannel source, String charsetName): It constructs a scanner to read from a specified channel source.
Functions

Below are mentioned the method to scan the primitive types from console input through Scanner class.

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

Program to read from 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);
}
}

Output:

Entrée utilisateur Java

3. Using console Class

Using the console class to read the input from the command-line interface. It does not work on 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);
}
}

Output:

Entrée utilisateur Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Annotations JavaArticle suivant:Annotations Java