Jak uzyskać dane wejściowe użytkownika w Javie [z przykładami]

Opublikowany: 2021-05-27

Spis treści

Wstęp

Wprowadzanie danych użytkownika w Javie jest pierwszym krokiem do stworzenia udanego oprogramowania w Javie. Program Java zbiera dane wejściowe od użytkownika za pomocą różnych źródeł wejściowych, takich jak mysz, klawiatura, żądanie sieciowe, argumenty CLI itp. Java ma również różne pakiety we/wy, które można zaimportować do programu w celu wykonania operacji wejścia-wyjścia. Te pakiety obsługują wprowadzanie typów pierwotnych, takich jak double, integer, stringi itp.

W tym artykule skupimy się na metodach takich jak Scanner, BufferedReader i InputStreamReader do pobierania danych wejściowych użytkownika w Javie .

Jak pobierać dane wejściowe w Javie za pomocą klasy skanera?

Klasa Scanner jest jedną z metod w pakiecie „java.util”, która analizuje i obsługuje wszystkie dane wejściowe typu pierwotnego. Klasa Scanner prosi użytkownika o wprowadzenie danych wejściowych, a następnie drukuje je na ekranie lub konsoli. Możesz zaimportować klasę Scanner z pakietu „java.util” w programie i utworzyć obiekt, aby używać jej metod.

Na przykład,

Test skanera = nowy skaner(System.in);

W powyższym zdaniu test jest nazwą obiektu, a System.in jest strumieniem wejściowym. Utworzona instancja Scanner przeskanuje dane wejściowe użytkownika w Javie .

Uwaga: Nie ma potrzeby pisania System.in jako ciągu wejściowego w programie. Możesz go zastąpić plikiem i plikiem do odczytu, ciągiem jako strumieniem wejściowym.

Na przykład,

Test skanera = nowy skaner(new FileInputStream("testFile.txt"), "UTF-8");

Upewnij się, że piszesz kod {test.close()}, aby zamknąć skaner po zakończeniu edycji.

Metody skanera do odczytywania danych wejściowych od użytkownika

W poniższej tabeli wymieniono metody używane przez skaner do odczytywania danych wejściowych w języku Java wprowadzonych przez użytkownika.

metoda Typ zwrotu Opis
Następny() Strunowy Zwraca następny żeton ze skanera
następny bajt() Bajt Czyta następne wejście jako bajt.
następnyFloat() Pływak Odczytuje następne dane wejściowe jako zmiennoprzecinkowe.
następnyInt() Liczba całkowita Odczytuje następne dane wejściowe jako liczbę całkowitą.
następnyKrótki() Krótki Przeczytaj następne wejście jako krótkie.
następnyDługi() Długi Przeczytaj następne wejście tak długo.
następnaBoolean() Boole'a Odczytuje następne dane wejściowe jako Boolean i zwraca wartość.
następnaLinia() Strunowy Przesuwa skaner o jedną linię i zwraca pominięte dane wejściowe.

Przykład

Poniższy program Java używa klasy Scanner do pobierania danych wejściowych użytkownika w Javie (ciąg, liczba całkowita i pływanie).

importuj java.util.Scanner;

klasa TakeUserInput

{

public static void main(String args[])

{

int;

pływak b;

Ciąg c;

Test skanera = nowy skaner(System.in);

//Weź dane wprowadzone przez użytkownika jako String

System.out.println("Wpisz ciąg: ");

c = w.następnaLinia();

System.out.println („Ciąg wejściowy użytkownika to: „+c);

//Pobierz dane wprowadzone przez użytkownika jako liczbę całkowitą

System.out.println("Wpisz liczbę całkowitą: ");

a = in.nextInt();

System.out.println („Liczba całkowita wprowadzana przez użytkownika to: „+a);

//Ustaw dane wprowadzone przez użytkownika jako zmiennoprzecinkowe

System.out.println("Wpisz liczbę zmiennoprzecinkową: ");

b = in.nextFloat();

System.out.println („Liczba zmiennoprzecinkowa danych wejściowych użytkownika to: „+b);

}}

Wyjście

Wpisz ciąg:

Andrzej

Ciąg wejściowy użytkownika to: Andrew

Wpisz liczbę całkowitą:

03

Wprowadzana przez użytkownika liczba całkowita to: 03

Wpisz numer zmiennoprzecinkowy:

61,46

Numer zmiennoprzecinkowy wejścia użytkownika to: 61,46

Jeśli chcesz dowiedzieć się więcej o pobieraniu danych wejściowych w języku Java przy użyciu klasy skanera, zapoznaj się z blogiem dotyczącym wielu ciągów wejściowych w języku Java za pomocą skanera .

Metody BufferedReader i InputStreamReader

BufferedReader to kolejna klasa w Javie, która skanuje strumień znaków ze strumienia wejściowego opartego na znakach. InputStreamReader to funkcja w Javie, która konwertuje strumień wejściowy na sekwencję znaków, którą BufferedReader ma przeskanować. Klasa BufferedReader akceptuje InputStream jako parametr.

Klasa BufferedReader używa metod read() i readLine() do odczytywania znaków i następnego wiersza oraz zwraca je.

Aby utworzyć klasę BufferedReader, należy zaimportować pakiet java.io.BufferedReader.

// Tworzy FileReader

Test FileReader = nowy FileReader (plik tekstowy);

// Tworzy BufferedReader

BufferedReader a = new BufferedReader(test);

Zdobądź dyplomy z inżynierii oprogramowania online na najlepszych światowych uniwersytetach. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

BufferedReader Metody odczytu danych wejściowych od użytkownika

W poniższej tabeli wymieniono metody używane przez czytnik buforowany do odczytu danych wejściowych w języku Java wprowadzonych przez użytkownika.

metoda Opis
gotowy() Sprawdza, czy czytnik plików jest w stanie odczytu.
znak() Zaznacza pozycję w buforowanym czytniku, do której odczytano dane.
Resetowanie() Zwraca kontrolkę do punktu, w którym ustawiono znacznik.

Przykład

Poniższy program w języku Java używa klasy BufferedReader wraz z klasą InputStreamReader w celu pobrania danych wejściowych użytkownika w języku Java .

import java.io.BufferedReader;

import java.io.FileReader;

import java.io.IOException;

test klasy publicznej {

public static void main(String[] args) {

BufferedReader bufor = null;

próbować {

Skanowanie ciągówFirstLine;

buffer = new BufferedReader(new FileReader(„D:\\user_input.txt”));

while ((scanFirstLine = buffer.readLine()) != null) {

System.out.println(scanFirstLine);

}

} złapać (IOException a) {

a.printStackTrace();

} wreszcie {

próbować {

if (bufor != null)

bufor.zamknij();

} złapać (IOException b) {

b.printStackTrace();

} } } }

Wyjście

W pliku znajdują się następujące dane:

To jest przykładowa instrukcja, którą BufferedReader odczytuje z pliku.

W powyższym przykładzie stworzyliśmy buforowany czytnik o nazwie buffer. Buforowany czytnik jest powiązany z plikiem „user_input.txt”.

Następnie użyliśmy metody readLine() do skanowania znaków z bufora buforowanego czytnika.

Wniosek

W tym artykule omówiliśmy metody używane do pobierania danych wejściowych użytkownika w Javie . Omówiliśmy metody Scanner i BufferedReader wraz z przykładami. Omówiliśmy również metody, których używa klasa Scanner i BufferedReader do pobierania danych wejściowych w Javie . Mamy nadzieję, że masz podstawową wiedzę na temat obsługi danych wejściowych w Javie . Jeśli chcesz nauczyć się więcej języka programowania Java, zapoznaj się z kursem UpGrad Executive PG Program in Full Stack Development przeznaczonym dla pracujących profesjonalistów.

Zaplanuj swoją karierę programistyczną już teraz.

Złóż wniosek o certyfikację PG związaną z pracą w inżynierii oprogramowania