Úvod do uživatelského vstupu Java

V programu Java existují 3 způsoby, jak můžeme přečíst vstup od uživatele v prostředí příkazového řádku, abychom získali vstup uživatele, třída Java BufferedReader, třída skeneru Java a třída konzoly. Pojďme diskutovat o třídách podrobně. Používáme třídu skeneru, abychom získali vstup uživatele. Tento program požádá uživatele, aby zadal celé číslo, řetězec a float a bude vytištěn na displeji. Třída skeneru v java.util je k dispozici, takže můžeme tento balíček přidat do našeho softwaru. Nejprve vytvoříme objekt třídy skeneru a použijeme metodu třídy skeneru.

3 způsoby vstupu uživatele Java

Uživatelský vstup lze číst třemi způsoby:

  1. Třída Java BufferedReader.
  2. Třída skeneru Java.
  3. Používání třídy konzoly.

Tyto tři třídy jsou uvedeny níže, pojďme to podrobně diskutovat:

1. Třída Java BufferedReader

Rozšiřuje třídu čtenářů. BufferedReader čte vstup z toku znakových vstupů a vyrovnává znaky tak, aby poskytoval efektivní čtení všech vstupů. Výchozí velikost je pro ukládání do vyrovnávací paměti velká. Když uživatel učiní jakýkoli požadavek na čtení, odpovídající požadavek jde do čtečky a provede požadavek na čtení znakových nebo bytových toků, takže třída BufferedReader je omotána kolem jiných vstupních toků, jako jsou FileReader nebo InputStreamReaders.

Například:

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.

Konstruktory

BufferedReader má dva konstruktory takto:

1. BufferedReader (Reader Reader)

Používá se k vytvoření vyrovnávací paměti vstupních znaků ve vyrovnávací paměti, která používá výchozí velikost vstupní vyrovnávací paměti.

2. BufferedReader (čtečka čtečky, velikost vstupu)

Používá se k vytvoření vyrovnávací paměti vstupních znaků ve vyrovnávací paměti, která používá velikost poskytovanou pro vstupní vyrovnávací paměť.

Funkce
  • int read: Používá se pro čtení jednoho znaku.
  • int read (char () cbuffer, int offset, int length): Používá se pro čtení znaků v určené části pole.
  • String readLine (): Používá se ke čtení vstupního řádku po řádku.
  • boolean ready (): Používá se k testování, zda je vstupní vyrovnávací paměť připravena ke čtení.
  • long skip: Používá se pro přeskočení znaků.
  • void close (): Zavře vyrovnávací paměť vstupního toku a systémové prostředky spojené s proudem.

Když uživatel zadá znak z klávesnice, přečte jej pomocí vyrovnávací paměti zařízení a poté ze systému System.in přejde do čtečky s vyrovnávací pamětí nebo čtečky vstupního proudu a uloží se do vstupní vyrovnávací paměti.

Kód:

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

Výstup:

Programujte čtení pomocí InputStreamReader a 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);
)
)

Výstup:

2. Třída Java Scanner

Třída java.util.scanner je jednou z tříd používaných ke čtení uživatelského vstupu z klávesnice. Je k dispozici na balíčku util. Třídy skeneru přerušují vstup uživatele pomocí oddělovače, který je ve výchozím nastavení většinou bílý. Skener má mnoho metod pro čtení vstupu konzoly mnoha primitivních typů, jako je double, int, float, long, boolean, short, byte atd. Je to nejjednodušší způsob, jak získat vstup do Java. Třída skeneru implementuje rozhraní Iterator a Closeable. Skener poskytuje nextInt () a mnoho metod primitivního typu ke čtení vstupů primitivních typů. Další metoda () se používá pro řetězcové vstupy.

Konstruktory
  • Skener (zdroj souboru): Vytvoří skener, aby čte ze zadaného souboru.
  • Skener (Zdroj souboru, String charsetName): Vytvoří skener, aby čte ze zadaného souboru.
  • Scanner (InputStream source), Scanner (InputStream source, String charsetName): Konstruuje skener tak, aby četl ze zadaného vstupního proudu.
  • Skener (0 čitelný zdroj): Konstruuje skener tak, aby četl ze zadaného čitelného zdroje.
  • Skener (zdroj řetězce): Vytvoří skener, aby čte ze zadaného řetězce.
  • Skener (zdroj ReadableByteChannel): Konstruuje skener tak, aby četl ze specifikovaného zdroje kanálu.
  • Skener (zdroj ReadableByteChannel, String charsetName): Vytvoří skener, aby čte ze zadaného zdroje kanálu.
Funkce

Níže je uveden způsob skenování primitivních typů ze vstupu konzoly přes třídu skeneru.

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

Program pro čtení ze třídy skeneru:

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

Výstup:

3. Použití třídy konzoly

Použití třídy konzoly ke čtení vstupu z rozhraní příkazového řádku. Na IDE to nefunguje.

Kód:

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

Výstup:

Doporučené články

Toto je průvodce uživatelským vstupem do Java. Zde diskutujeme 3 způsoby, jak můžeme číst vstup uživatele Java od uživatele v prostředí příkazového řádku. Tento článek vám poskytuje základní představu o všech vstupech, které můžete prozkoumat pomocí Java. Můžete se také podívat na následující článek.

  1. Převažující v Javě
  2. SpringLayout v Javě
  3. JFrame v Javě
  4. Wrapper Class v Javě

Kategorie: