Wprowadzenie do wprowadzania danych Java

W programie Java istnieją 3 sposoby na odczyt danych wejściowych od użytkownika w środowisku wiersza poleceń w celu uzyskania danych wejściowych od użytkownika, Java BufferedReader Class, Java Scanner Class i Console. Omówmy szczegółowo zajęcia. Używamy klasy Scanner, aby uzyskać dane wejściowe od użytkownika. Ten program prosi użytkownika o wprowadzenie liczby całkowitej, ciągu i liczby zmiennoprzecinkowej, a zostanie on wydrukowany na wyświetlaczu. Obecna jest klasa skanera w java.util, abyśmy mogli dodać ten pakiet do naszego oprogramowania. Najpierw tworzymy obiekt klasy skanera i używamy metody klasy skanera.

3 sposoby wprowadzania danych przez użytkownika Java

Istnieją trzy sposoby odczytywania danych wejściowych użytkownika:

  1. Klasa Java BufferedReader.
  2. Klasa skanera Java.
  3. Korzystanie z klasy konsoli.

Te trzy klasy są wymienione poniżej, omówmy to szczegółowo:

1. Klasa Java BufferedReader

Rozszerza klasę czytelnika. BufferedReader odczytuje dane wejściowe ze strumienia znaków i buforuje znaki, aby zapewnić efektywny odczyt wszystkich danych wejściowych. Domyślny rozmiar jest duży do buforowania. Gdy użytkownik wysyła dowolne żądanie odczytu, odpowiednie żądanie trafia do czytnika i powoduje żądanie odczytu strumieni znaków lub bajtów, dlatego klasa BufferedReader jest owijana wokół innych strumieni wejściowych, takich jak FileReader lub InputStreamReaders.

Na przykład:

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 ma dwa następujące konstruktory:

1. BufferedReader (czytnik czytników)

Służy do tworzenia buforowanego strumienia znaków wejściowych, który wykorzystuje domyślny rozmiar bufora wejściowego.

2. BufferedReader (czytnik czytników, rozmiar wejściowy)

Służy do tworzenia buforowanego strumienia znaków wejściowych, który wykorzystuje rozmiar przewidziany dla bufora wejściowego.

Funkcje
  • int read: Służy do odczytu pojedynczego znaku.
  • int read (char () cbuffer, int offset, int length): Służy do odczytu znaków w określonej części tablicy.
  • String readLine (): Używany do odczytu linii wejściowej po linii.
  • boolean ready (): Służy do testowania, czy bufor wejściowy jest gotowy do odczytu.
  • długie pominięcie: Służy do pomijania znaków.
  • void close (): Zamyka bufor strumienia wejściowego i zasoby systemowe związane ze strumieniem.

Gdy użytkownik wprowadzi znak z klawiatury, zostanie odczytany przez bufor urządzenia, a następnie z System.in. Przekazuje go do buforowanego czytnika lub czytnika strumienia wejściowego i zostaje zapisany w buforze wejściowym.

Kod:

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

Wynik:

Program z odczytem z InputStreamReader i 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);
)
)

Wynik:

2. Klasa skanera Java

Klasa java.util.scanner jest jedną z klas używanych do odczytu danych wejściowych użytkownika z klawiatury. Jest dostępny w pakiecie użytkownika. Klasy skanerów niszczą dane wprowadzane przez użytkownika za pomocą ogranicznika, który domyślnie jest najczęściej białymi spacjami. Skaner ma wiele metod odczytu danych wejściowych konsoli wielu prymitywnych typów, takich jak double, int, float, long, Boolean, short, byte itp. Jest to najprostszy sposób na uzyskanie danych wejściowych w java. Klasa skanera implementuje interfejsy Iterator i Closeable. Skaner zapewnia nextInt () i wiele metod typów pierwotnych do odczytu danych wejściowych typów pierwotnych. Do wprowadzania ciągów używana jest metoda next ().

Konstruktory
  • Skaner (źródło pliku): Konstruuje skaner do odczytu z określonego pliku.
  • Skaner (źródło pliku, ciąg znaków charsetName): Konstruuje skaner do odczytu z określonego pliku.
  • Skaner (źródło InputStream), Skaner (źródło InputStream, String charsetName): Konstruuje skaner do odczytu z określonego strumienia wejściowego.
  • Scanner (0Readable source): Konstruuje skaner do odczytu z określonego źródła do odczytu.
  • Skaner (źródło ciągu znaków ): Konstruuje skaner do odczytu z określonego źródła ciągu znaków.
  • Skaner (źródło ReadableByteChannel): Konstruuje skaner do odczytu z określonego źródła kanału.
  • Skaner (źródło ReadableByteChannel, String charsetName): Konstruuje skaner do odczytu z określonego źródła kanału.
Funkcje

Poniżej wymieniono metodę skanowania typów pierwotnych z danych wejściowych konsoli poprzez klasę Scanner.

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

Program do odczytu z klasy skanera:

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

Wynik:

3. Korzystanie z klasy konsoli

Korzystanie z klasy konsoli do odczytu danych wejściowych z interfejsu wiersza polecenia. Nie działa na IDE.

Kod:

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

Wynik:

Polecane artykuły

Jest to przewodnik po języku Java User Input. Tutaj omawiamy 3 sposoby, w jakie możemy odczytać dane wejściowe użytkownika Java od użytkownika w środowisku wiersza poleceń. W tym artykule przedstawiono podstawowe informacje o wszystkich danych wejściowych, które można eksplorować za pomocą języka Java. Możesz także spojrzeć na następujący artykuł.

  1. Przesłanianie w Javie
  2. SpringLayout w Javie
  3. JFrame w Javie
  4. Klasa opakowania w Javie