Einführung in die Java-Benutzereingabe

Im Java-Programm gibt es drei Möglichkeiten, Benutzereingaben in der Befehlszeilenumgebung zu lesen, um Benutzereingaben abzurufen: Java BufferedReader Class, Java Scanner Class und Console Class. Lassen Sie uns die Klassen im Detail besprechen. Wir verwenden die Scanner-Klasse, um Benutzereingaben zu erhalten. Dieses Programm fordert den Benutzer auf, eine Ganzzahl, eine Zeichenfolge und ein Gleitkomma einzugeben, und es wird auf dem Display gedruckt. Die Scannerklasse in java.util ist vorhanden, damit wir dieses Paket zu unserer Software hinzufügen können. Zunächst erstellen wir ein Scanner Class-Objekt und verwenden die Scanner Class-Methode.

3 Möglichkeiten der Java-Benutzereingabe

Es gibt drei Möglichkeiten, die Benutzereingaben zu lesen:

  1. Java BufferedReader-Klasse.
  2. Java-Scannerklasse.
  3. Konsolenklasse verwenden.

Diese drei Klassen werden im Folgenden aufgeführt. Lassen Sie uns dies genauer erläutern:

1. Java BufferedReader-Klasse

Es erweitert die Leserklasse. BufferedReader liest Eingaben aus dem Zeicheneingabestrom und puffert Zeichen, um ein effizientes Lesen aller Eingaben zu ermöglichen. Die Standardgröße ist groß für die Pufferung. Wenn der Benutzer eine Leseanforderung sendet, wird die entsprechende Anforderung an den Reader gesendet und eine Leseanforderung für die Zeichen- oder Byte-Streams gesendet. Die BufferedReader-Klasse wird daher um andere Eingabestreams wie FileReader oder InputStreamReaders gewickelt.

Beispielsweise:

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.

Konstruktoren

BufferedReader hat zwei Konstruktoren:

1. BufferedReader (Reader Reader)

Wird verwendet, um einen gepufferten Eingabezeichenstrom zu erstellen, der die Standardgröße eines Eingabepuffers verwendet.

2. BufferedReader (Reader Reader, Eingabegröße)

Wird zum Erstellen eines gepufferten Eingabezeichenstroms verwendet, der die für einen Eingabepuffer angegebene Größe verwendet.

Funktionen
  • int read: Wird zum Lesen eines einzelnen Zeichens verwendet.
  • int read (char () cbuffer, int offset, int length): Wird zum Lesen von Zeichen im angegebenen Teil eines Arrays verwendet.
  • String readLine (): Zum zeilenweisen Lesen der Eingabe.
  • boolean ready (): Wird verwendet, um zu testen, ob der Eingabepuffer zum Lesen bereit ist.
  • Langes Überspringen: Zum Überspringen der Zeichen.
  • void close (): Schließt den Eingabestream-Puffer und die dem Stream zugeordneten Systemressourcen.

Wenn der Benutzer das Zeichen über die Tastatur eingibt, wird es vom Gerätepuffer gelesen und dann von System.in an den gepufferten Reader oder den Eingabestream-Reader weitergeleitet und im Eingabepuffer gespeichert.

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

Ausgabe:

Programm mit Lesen von InputStreamReader und 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);
)
)

Ausgabe:

2. Java-Scannerklasse

Die Klasse java.util.scanner ist eine der Klassen, die zum Lesen von Benutzereingaben über die Tastatur verwendet wird. Es ist im util-Paket verfügbar. Scannerklassen unterbrechen die Benutzereingaben mit einem Trennzeichen, das standardmäßig meist aus Leerzeichen besteht. Der Scanner bietet viele Methoden zum Lesen von Konsoleneingaben vieler primitiver Typen wie double, int, float, long, boolean, short, byte usw. Dies ist der einfachste Weg, um Eingaben in Java zu erhalten. Die Scannerklasse implementiert die Schnittstellen Iterator und Closeable. Der Scanner bietet nextInt () - und viele primitive Typmethoden zum Lesen von Eingaben primitiver Typen. Die next () -Methode wird für Zeichenfolgeneingaben verwendet.

Konstruktoren
  • Scanner (Dateiquelle): Erstellt einen Scanner zum Lesen aus einer angegebenen Datei.
  • Scanner (Dateiquelle, Zeichenfolge charsetName): Erstellt einen Scanner zum Lesen aus einer angegebenen Datei.
  • Scanner (InputStream-Quelle), Scanner (InputStream-Quelle, String charsetName): Erstellt einen Scanner zum Lesen aus einem angegebenen Eingabestream.
  • Scanner (0 Lesbare Quelle): Erstellt einen Scanner zum Lesen von einer angegebenen lesbaren Quelle.
  • Scanner (String-Quelle): Erstellt einen Scanner zum Lesen aus einer angegebenen String-Quelle.
  • Scanner (ReadableByteChannel-Quelle): Erstellt einen Scanner zum Lesen von einer angegebenen Kanalquelle.
  • Scanner (ReadableByteChannel-Quelle, String charsetName): Erstellt einen Scanner zum Lesen von einer angegebenen Kanalquelle.
Funktionen

Im Folgenden wird die Methode zum Scannen der primitiven Typen von der Konsoleneingabe über die Scannerklasse beschrieben.

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

Programm zum Lesen aus der Scannerklasse:

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

Ausgabe:

3. Konsolenklasse verwenden

Verwenden der Konsolenklasse zum Lesen der Eingabe von der Befehlszeilenschnittstelle. Es funktioniert nicht auf 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);
)
)

Ausgabe:

Empfohlene Artikel

Dies ist eine Anleitung zur Java-Benutzereingabe. Hier diskutieren wir die drei Möglichkeiten, wie wir Java-Benutzereingaben vom Benutzer in der Befehlszeilenumgebung lesen können. In diesem Artikel erhalten Sie einen Überblick über alle Eingaben, die Sie mit Java untersuchen können. Sie können sich auch den folgenden Artikel ansehen.

  1. In Java überschreiben
  2. SpringLayout in Java
  3. JFrame in Java
  4. Wrapper-Klasse in Java