Introduktion till Java User Input

I Java-programmet finns det 3 sätt vi kan läsa inmatning från användaren i kommandoradsmiljön för att få användarinmatning, Java BufferedReader Class, Java Scanner Class och Console class. Låt oss diskutera klasserna i detalj. Vi använder skannerklassen för att få användarinmatning. Detta program ber användaren att ange ett heltal, en sträng och flyta, och det kommer att skrivas ut på displayen. Skannerklassen i java.util finns så att vi kan lägga till detta paket till vår programvara. Först skapar vi ett Scanner Class-objekt och använder metoden Scanner Class.

3 sätt Java-användarinmatning

Det finns tre sätt att läsa användarinmatningen:

  1. Java BufferedReader Class.
  2. Java Scanner Class.
  3. Med hjälp av konsolklass.

Dessa tre klasser nämns nedan, låt oss diskutera det i detalj:

1. Java BufferedReader Class

Det utökar läsarklassen. BufferedReader läser inmatning från teckeninmatningsströmmen och buffrar tecken för att ge en effektiv avläsning av alla ingångar. Standardstorleken är stor för buffring. När användaren gör någon begäran om att läsa, går motsvarande begäran till läsaren och den gör en läsbegäran av karaktärs- eller byte-strömmarna, varför BufferedReader-klassen lindas runt en annan ingångsströmmar som FileReader eller InputStreamReaders.

Till exempel:

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.

konstruktörer

BufferedReader har två konstruktörer enligt följande:

1. BufferedReader (Readerläsare)

Används för att skapa en buffrad ingångsteckenström som använder standardstorleken för en inmatningsbuffert.

2. BufferedReader (Readerläsare, ingångsstorlek)

Används för att skapa en buffrad ingångsteckenström som använder storleken som anges för en ingångsbuffert.

funktioner
  • int read: Det används för att läsa ett enda tecken.
  • int read (char () cbuffer, int offset, int length): Det används för att läsa tecken i den angivna delen av en matris.
  • String readLine (): Används för att läsa inmatning rad för rad.
  • boolean ready (): Används för att testa om inmatningsbufferten är redo att läsas.
  • lång hopp: Används för att hoppa över tecken.
  • void close (): Det stänger ingångsströmbufferten och systemresurserna associerade med strömmen.

När användaren matar in tecknet från tangentbordet läses den av enhetsbufferten och sedan från System.in vidarebefordras den till buffrad läsare eller ingångsströmläsare och lagras i inmatningsbufferten.

Koda:

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

Produktion:

Program med läsning från InputStreamReader och 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);
)
)

Produktion:

2. Java Scanner Class

java.util.scanner klass är en av de klasser som används för att läsa användarinmatning från tangentbordet. Det är tillgängligt på util-paketet. Skannerklasser bryter användarinmatningen med hjälp av avgränsare som oftast är vita områden som standard. Skannern har många metoder för att läsa konsolinmatning av många primitiva typer som dubbel, int, float, lång, boolesk, kort, byte osv. Det är det enklaste sättet att få inmatningar i java. Skannerklassen implementerar gränssnitt Iterator och stängs. Skannern tillhandahåller nextInt () och många primitiva metoder för att läsa ingångar från primitiva typer. Nästa metod används för stränginmatningar.

konstruktörer
  • Skanner (filkälla): Den skapar en skanner att läsa från en specifik fil.
  • Skanner (filkälla, strängtjänstnamn): Den skapar en skanner att läsa från en specificerad fil.
  • Skanner (InputStream-källa), Scanner (InputStream-källa, String charsetName): Den konstruerar skannern att läsa från en specificerad ingångsström.
  • Scanner (0Läsbar källa): Den skapar en skanner att läsa från en specificerad läsbar källa.
  • Skanner (stringkälla): Den konstruerar en skanner att läsa från en angiven strängkälla.
  • Skanner (ReadableByteChannel-källa): Den skapar en skanner att läsa från en specificerad kanalkälla.
  • Skanner (ReadableByteChannel-källa, String charsetName): Den skapar en skanner att läsa från en specificerad kanalkälla.
funktioner

Nedan nämns metoden för att skanna de primitiva typerna från konsolinmatning via skannerklassen.

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

Program för att läsa från 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);
)
)

Produktion:

3. Använda konsolklass

Använd konsolklassen för att läsa inmatningen från kommandoradsgränssnittet. Det fungerar inte på IDE.

Koda:

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

Produktion:

Rekommenderade artiklar

Detta är en guide till Java-användarinmatning. Här diskuterar vi de tre sätten vi kan läsa Java User Input från användaren i kommandoradsmiljön. Den här artikeln ger dig en grundläggande uppfattning om alla input du kan utforska med Java. Du kan också titta på följande artikel.

  1. Övergripande i Java
  2. SpringLayout i Java
  3. JFrame i Java
  4. Omslagsklass i Java

Kategori: