Inleiding tot Java-gebruikersinvoer

In het Java-programma zijn er 3 manieren waarop we invoer van de gebruiker in de opdrachtregelomgeving kunnen lezen om gebruikersinvoer, Java BufferedReader Class, Java Scanner Class en Console-klasse te krijgen. Laten we de lessen in detail bespreken. We gebruiken de klasse Scanner om gebruikersinvoer te verkrijgen. Dit programma vraagt ​​de gebruiker om een ​​geheel getal, een string en een float in te voeren en het zal op het display worden afgedrukt. De scannerklasse in java.util is aanwezig zodat we dit pakket aan onze software kunnen toevoegen. Eerst maken we een Scanner Class-object en gebruiken we de Scanner Class-methode.

3 manieren van Java-gebruikersinvoer

Er zijn drie manieren om de gebruikersinvoer te lezen:

  1. Java BufferedReader Class.
  2. Java Scanner Class.
  3. Console Class gebruiken.

Deze drie klassen worden hieronder vermeld, laten we het in detail bespreken:

1. Java BufferedReader Class

Het breidt lezersklasse uit. BufferedReader leest invoer van de tekeninvoerstroom en buffert tekens om een ​​efficiënte lezing van alle invoer te bieden. De standaardgrootte is groot voor buffering. Wanneer de gebruiker een leesverzoek indient, gaat het overeenkomstige verzoek naar de lezer en wordt een leesverzoek gedaan voor de teken- of bytestreams, dus wordt de klasse BufferedReader om andere invoerstromen gewikkeld, zoals FileReader of InputStreamReaders.

Bijvoorbeeld:

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.

constructors

BufferedReader heeft twee constructors als volgt:

1. BufferedReader (Reader-lezer)

Wordt gebruikt om een ​​gebufferde invoertekenstroom te maken die de standaardgrootte van een invoerbuffer gebruikt.

2. BufferedReader (lezer, invoerformaat)

Wordt gebruikt om een ​​gebufferde invoertekenstroom te maken die de opgegeven grootte gebruikt voor een invoerbuffer.

functies
  • int lezen: het wordt gebruikt voor het lezen van een enkel karakter.
  • int read (char () cbuffer, int offset, int length): het wordt gebruikt voor het lezen van tekens in het opgegeven deel van een array.
  • String readLine (): wordt gebruikt om invoer regel voor regel te lezen.
  • boolean ready (): wordt gebruikt om te testen of de invoerbuffer gereed is om te lezen.
  • lang overslaan: wordt gebruikt om tekens over te slaan.
  • void close (): hiermee wordt de invoerstreambuffer en de systeembronnen die aan de stream zijn gekoppeld, gesloten.

Wanneer de gebruiker het teken op het toetsenbord invoert, wordt het gelezen door de apparaatbuffer en vervolgens van System.in wordt het doorgegeven aan de gebufferde lezer of invoerstroomlezer en wordt het opgeslagen in de invoerbuffer.

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

Output:

Programma met lezen van InputStreamReader en 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);
)
)

Output:

2. Java-scannerklasse

java.util.scanner-klasse is een van de klassen die wordt gebruikt om gebruikersinvoer van het toetsenbord te lezen. Het is beschikbaar in het util-pakket. Scannerklassen verbreken de invoer van de gebruiker met behulp van scheidingsteken dat standaard meestal witruimte is. De scanner heeft vele methoden om console-invoer van vele primitieve typen te lezen, zoals dubbel, int, float, lang, Boolean, kort, byte, enz. Het is de eenvoudigste manier om invoer in Java te krijgen. Scannerklasse implementeert Iterator en afsluitbare interfaces. De scanner biedt nextInt () en vele methoden van het primitieve type om ingangen van primitieve typen te lezen. De methode next () wordt gebruikt voor stringingangen.

constructors
  • Scanner (bestandsbron): het maakt een scanner om te lezen van een bepaald bestand.
  • Scanner (bestandsbron, String charsetName): het construeert een scanner om te lezen van een gespecificeerd bestand.
  • Scanner (InputStream-bron), Scanner (InputStream-bron, String charsetName): het construeert de scanner om te lezen van een gespecificeerde invoerstroom.
  • Scanner (0Leesbare bron): het construeert een scanner om te lezen van een gespecificeerde leesbare bron.
  • Scanner (tekenreeksbron): het maakt een scanner om te lezen van een opgegeven tekenreeksbron.
  • Scanner (ReadableByteChannel-bron): het construeert een scanner om te lezen van een gespecificeerde kanaalbron.
  • Scanner (bron ReadableByteChannel, String charsetName): het construeert een scanner om te lezen van een opgegeven kanaalbron.
functies

Hieronder wordt de methode genoemd om de primitieve typen te scannen vanaf console-invoer via Scannerklasse.

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

Programma om te lezen van 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:

3. Gebruik van consoleklasse

De consoleklasse gebruiken om de invoer van de opdrachtregelinterface te lezen. Het werkt niet op 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:

Aanbevolen artikelen

Dit is een handleiding voor Java-gebruikersinvoer. Hier bespreken we de 3 manieren waarop we Java User Input van de gebruiker kunnen lezen in de opdrachtregelomgeving. Dit artikel geeft u een basisidee van alle ingangen die u kunt verkennen met behulp van Java. U kunt ook het volgende artikel bekijken.

  1. Overschrijven in Java
  2. SpringLayout in Java
  3. JFrame in Java
  4. Wrapper Class in Java