Eingaben aus System.in in Java lesen

Mohammad Irfan 12 Oktober 2023
  1. Eingabe lesen mit System.in in Java
  2. Eingaben lesen mit der Klasse System.in und BufferedReader in Java
  3. Eingabe lesen mit der Methode System.console() in Java
Eingaben aus System.in in Java lesen

Dieses Tutorial stellt vor, wie Benutzereingaben von der Konsole mit Hilfe von System.in in Java gelesen werden.

Java bietet eine Low-Level-Stream-Klasse System zum Lesen von Benutzereingaben, die einen Eingabestrom zum Lesen von Eingaben verwendet. Das System ist eine Klasse in Java, die hilft, systembezogene Aufgaben auszuführen.

Wir können dies an die Klasse Scanner übergeben und dann ihre Methoden verwenden; Wir können Benutzereingaben verschiedener Typen wie String, int, float usw. erhalten. Lassen Sie uns dies anhand einiger Beispiele verstehen.

Eingabe lesen mit System.in in Java

Die Verwendung von System.in in einem Java-Code ist einfach; Übergeben Sie die Klasse im Konstruktor Scanner und verwenden Sie die Methode nextLine(). Diese Methode liest einen String und gibt ihn zurück.

Siehe das Beispiel unten.

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

Ausgabe:

Enter a value :
2
User input: 2

Eingaben lesen mit der Klasse System.in und BufferedReader in Java

Dies ist eine weitere Lösung zum Lesen von Benutzereingaben, bei der wir die Klasse BufferedReader anstelle der Klasse Scanner verwendet haben. Dieser Code erledigt die gleiche Aufgabe, und wir haben hier die Methode readLine() verwendet, um die Daten zu lesen.

Diese Methode gehört zur Klasse BufferedReader und gibt einen String zurück. Siehe das Beispiel unten.

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

Ausgabe:

Enter a value :
sam
sam

Eingabe lesen mit der Methode System.console() in Java

Die Java-Klasse System stellt eine console()-Methode bereit, um konsolenbezogene Aufgaben zu erledigen. Um Daten zu lesen, können wir diese Methode also auch verwenden.

Diese Methode gibt ein Konsolenobjekt zurück, mit dem wir die Methode readLine() aufrufen können, um Daten zu lesen. Siehe das Beispiel unten.

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

Ausgabe:

Enter a value :
sam
sam

Die Java-Klasse Scanner wird häufig zum Lesen von Benutzerdaten verwendet und stellt Methoden für jeden Datentyp bereit.

Mit diesen Methoden können wir bestimmte Daten auslesen. Einige von ihnen sind unten.

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

Im folgenden Beispiel haben wir diese Methoden verwendet, um eine andere Art von Benutzereingaben in Java zu lesen. Es wird Ihnen helfen, die Java-Konsole zu verstehen.

Siehe das Beispiel unten.

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

Ausgabe:

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

Verwandter Artikel - Java Input