Jak uzyskać dane wejściowe użytkownika w Javie [z przykładami]
Opublikowany: 2021-05-27Spis 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.