Heim  >  Artikel  >  Java  >  Java-Benutzereingabe

Java-Benutzereingabe

WBOY
WBOYOriginal
2024-08-30 16:06:42611Durchsuche

Im Java-Programm gibt es drei Möglichkeiten, wie wir Eingaben vom Benutzer in der Befehlszeilenumgebung lesen können, um Benutzereingaben zu erhalten: Java BufferedReader-Klasse, Java-Scanner-Klasse und Konsolenklasse. Lassen Sie uns die Kurse im Detail besprechen. Wir verwenden die Scanner-Klasse, um Benutzereingaben zu erhalten. Dieses Programm fordert den Benutzer auf, eine Ganzzahl, eine Zeichenfolge und eine Gleitkommazahl einzugeben, und diese wird auf dem Display ausgedruckt. Die Scannerklasse in java.util ist vorhanden, damit wir dieses Paket zu unserer Software hinzufügen können. Zuerst erstellen wir ein Scanner-Klassenobjekt und verwenden die Scanner-Klassenmethode.

3 Möglichkeiten der Java-Benutzereingabe

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

WERBUNG Beliebter Kurs in dieser Kategorie JAVA MASTERY - Spezialisierung | 78 Kursreihe | 15 Probetests

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

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

Diese drei Klassen werden unten erwähnt; Lassen Sie uns sie im Detail besprechen:

1. Java BufferedReader-Klasse

Es erweitert die Leserklasse. BufferedReader liest Eingaben aus dem Zeicheneingabestream und puffert Zeichen, um ein effizientes Lesen aller Eingaben zu ermöglichen. Die Standardgröße ist für die Pufferung groß. Wenn der Benutzer eine Leseanfrage stellt, wird die entsprechende Anfrage an den Leser weitergeleitet und dieser sendet eine Leseanfrage für die Zeichen- oder Byteströme. Daher wird die BufferedReader-Klasse um andere Eingabeströme wie FileReader oder InputStreamReaders gewickelt.

Zum Beispiel:

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

BufferedReader kann Daten Zeile für Zeile mit der Methode readLine() lesen.

BufferedReader kann die Leistung von Code beschleunigen.

Konstrukteure

BufferedReader hat zwei Konstruktoren wie folgt:

1. BufferedReader (Reader-Reader): Wird zum Erstellen eines gepufferten Eingabezeichenstroms verwendet, 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 bereitgestellte 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():  Wird zum zeilenweisen Lesen von Eingaben verwendet.
  • boolean ready():  Wird verwendet, um zu testen, ob der Eingabepuffer zum Lesen bereit ist.
  • langes Überspringen:Wird zum Überspringen der Zeichen verwendet.
  • void close(): Es schließt den Eingabestream-Puffer und die mit dem Stream verknüpften Systemressourcen.

Wenn der Benutzer das Zeichen über die Tastatur eingibt, wird es vom Gerätepuffer gelesen und dann von System.in an den gepufferten Leser oder Eingabestream-Leser 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:

Java-Benutzereingabe

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:

Java-Benutzereingabe

2. Java-Scanner-Klasse

java.util. Die Scannerklasse ist eine der Klassen, die zum Lesen von Benutzereingaben über die Tastatur verwendet werden. Es ist im Util-Paket verfügbar. Scannerklassen unterbrechen die Benutzereingaben mithilfe eines Trennzeichens, das standardmäßig hauptsächlich aus Leerzeichen besteht. Der Scanner verfügt über viele Methoden zum Lesen von Konsoleneingaben vieler primitiver Typen wie Double, Int, Float, Long, Boolean, Short, Byte usw. Dies ist die einfachste Möglichkeit, Eingaben in Java zu erhalten. Die Scannerklasse implementiert Iterator- und Closeable-Schnittstellen. Der Scanner bietet nextInt() und viele primitive Typmethoden zum Lesen von Eingaben primitiver Typen. Die Methode next() wird für String-Eingaben verwendet.

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:

Java-Benutzereingabe

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:

Java-Benutzereingabe

Das obige ist der detaillierte Inhalt vonJava-Benutzereingabe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Java-AnmerkungenNächster Artikel:Java-Anmerkungen