Lire l'entrée de System.in en Java

Mohammad Irfan 12 octobre 2023
  1. Lire l’entrée en utilisant System.in en Java
  2. Lire l’entrée à l’aide des classes System.in et BufferedReader en Java
  3. Lire l’entrée à l’aide de la méthode System.console() en Java
Lire l'entrée de System.in en Java

Ce didacticiel explique comment lire les entrées utilisateur à partir de la console à l’aide de System.in en Java.

Java fournit une classe de Stream de bas niveau System pour lire l’entrée utilisateur, qui utilise un Stream d’entrée pour lire l’entrée. Le System est une classe en Java qui aide à effectuer des tâches liées au système.

Nous pouvons passer ceci à la classe Scanner, puis en utilisant ses méthodes ; nous pouvons obtenir des entrées utilisateur de plusieurs types tels que String, int, float, etc. Comprenons par quelques exemples.

Lire l’entrée en utilisant System.in en Java

Utiliser le System.in dans un code Java est simple ; passez la classe dans le constructeur Scanner et utilisez la méthode nextLine(). Cette méthode lit et renvoie une chaîne.

Voir l’exemple ci-dessous.

import java.util.Scanner;

public class SimpleTesting {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("Enter a value :");
    String str = sc.nextLine();
    System.out.println("User input: " + str);
  }
}

Production :

Enter a value :
2
User input: 2

Lire l’entrée à l’aide des classes System.in et BufferedReader en Java

Il s’agit d’une autre solution pour lire les entrées utilisateur où nous avons utilisé la classe BufferedReader plutôt que la classe Scanner. Ce code fait la même tâche, et nous avons utilisé la méthode readLine() ici pour lire les données.

Cette méthode appartient à la classe BufferedReader et renvoie une chaîne. Voir l’exemple ci-dessous.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class SimpleTesting {
  public static void main(String[] args) throws IOException {
    System.out.println("Enter a value :");
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String str = br.readLine();
    System.out.println(str);
  }
}

Production :

Enter a value :
sam
sam

Lire l’entrée à l’aide de la méthode System.console() en Java

La classe Java System fournit une méthode console() pour gérer les tâches liées à la console. Donc, pour lire les données, nous pouvons également utiliser cette méthode.

Cette méthode renvoie un objet console par lequel nous pouvons appeler la méthode readLine() pour lire les données. Voir l’exemple ci-dessous.

import java.io.Console;
import java.io.IOException;

public class SimpleTesting {
  public static void main(String[] args) throws IOException {
    Console c = System.console();
    System.out.println("Enter a value : ");
    String str = c.readLine();
    System.out.println(str);
  }
}

Production :

Enter a value :
sam
sam

La classe Java Scanner est couramment utilisée pour lire les données de l’utilisateur et fournit des méthodes pour chaque type de données.

Nous pouvons utiliser ces méthodes pour lire des données spécifiques. Certains d’entre eux sont ci-dessous.

public int nextInt(); // reads integer input
public float nextFloat(); // reads decimal input
public String nextLine(); // reads string input

Dans l’exemple ci-dessous, nous avons utilisé ces méthodes pour lire un type différent d’entrée utilisateur en Java. Cela vous aidera à comprendre la console Java.

Voir l’exemple ci-dessous.

import java.io.IOException;
import java.util.Scanner;

public class SimpleTesting {
  public static void main(String[] args) throws IOException {
    Scanner sc = new Scanner(System.in);
    System.out.println("Enter a string value : ");
    String str = sc.nextLine();
    System.out.println(str);
    System.out.println("Enter an int value : ");
    int a = sc.nextInt();
    System.out.println(a);
    System.out.println("Enter a float value : ");
    float f = sc.nextFloat();
    System.out.println(f);
  }
}

Production :

Enter a string value : 
string
string
Enter an int value : 
23
23
Enter a float value : 
34
34.0

Article connexe - Java Input