W tym samouczku dowiemy się o skanerze Java i jego metodach na przykładach.
ScannerKlasa java.utilpakiet służy do odczytu danych wejściowych z różnych źródeł, takich jak strumienie wejściowe, użytkowników, plików, itp Weźmy przykład.
Przykład 1: Odczytaj wiersz tekstu za pomocą skanera
import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // takes input from the keyboard String name = input.nextLine(); // prints the name System.out.println("My name is " + name); // closes the scanner input.close(); ) )
Wynik
Wpisz swoje imię i nazwisko: Kelvin Nazywam się Kelvin
W powyższym przykładzie zwróć uwagę na linię
Scanner input = new Scanner(System.in);
Tutaj stworzyliśmy obiekt o Scannernazwie input.
System.inParametr służy wziąć dane ze standardowego wejścia. Działa to tak, jak pobieranie danych wejściowych z klawiatury.
Następnie użyliśmy nextLine()metody Scannerklasy do odczytania wiersza tekstu od użytkownika.
Teraz, gdy masz już pewne pojęcie Scanner, przyjrzyjmy się temu więcej.
Importuj klasę skanera
Jak widać na powyższym przykładzie, musimy zaimportować java.util.Scannerpakiet, zanim będziemy mogli użyć Scannerklasy.
import java.util.Scanner;
Aby dowiedzieć się więcej o importowaniu pakietów, odwiedź stronę Pakiety Java.
Utwórz obiekt skanera w języku Java
Oto jak możemy tworzyć Scannerobiekty po zaimportowaniu pakietu .
// read input from the input stream Scanner sc1 = new Scanner(InputStream input); // read input from files Scanner sc2 = new Scanner(File file); // read input from a string Scanner sc3 = new Scanner(String str);
Tutaj utworzyliśmy obiekty Scannerklasy, które będą odczytywać dane wejściowe odpowiednio z InputStream, File i String.
Metody skanera Java do wprowadzania danych
ScannerKlasa udostępnia różne metody, które pozwalają nam odczytać wejść różnych typów.
| metoda | Opis |
|---|---|
nextInt() | odczytuje intwartość od użytkownika |
nextFloat() | czyta floatwartość od użytkownika |
nextBoolean() | odczytuje booleanwartość od użytkownika |
nextLine() | czyta wiersz tekstu od użytkownika |
next() | czyta słowo użytkownika |
nextByte() | odczytuje bytewartość od użytkownika |
nextDouble() | odczytuje doublwartość e od użytkownika |
nextShort() | odczytuje shortwartość od użytkownika |
nextLong() | odczytuje longwartość od użytkownika |
Przykład 2: Java Scanner nextInt ()
import java.util.Scanner; class Main ( public static void main(String() args) ( // creates a Scanner object Scanner input = new Scanner(System.in); System.out.println("Enter an integer: "); // reads an int value int data1 = input.nextInt(); System.out.println("Using nextInt(): " + data1); input.close(); ) )
Wynik
Wprowadź liczbę całkowitą: 22 Za pomocą metody nextInt (): 22
W powyższym przykładzie użyliśmy nextInt()metody do odczytania wartości całkowitej.
Przykład 3: Java Scanner nextDouble ()
import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter Double value: "); // reads the double value double value = input.nextDouble(); System.out.println("Using nextDouble(): " + value); input.close(); ) )
Wynik
Wprowadź wartość Double: 33,33 Za pomocą funkcji nextDouble (): 33,33
W powyższym przykładzie użyliśmy nextDouble()metody do odczytania wartości zmiennoprzecinkowej.
Przykład 4: Java Scanner next ()
import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // reads the entire word String value = input.next(); System.out.println("Using next(): " + value); input.close(); ) )
Wynik
Wpisz swoje imię i nazwisko: Jonny Walker. Używając next (): Jonny
W powyższym przykładzie użyliśmy next()metody do odczytania ciągu znaków od użytkownika.
Tutaj podaliśmy pełne imię i nazwisko. Jednak next()metoda odczytuje tylko imię.
Dzieje się tak, ponieważ next()metoda odczytuje dane wejściowe aż do białego znaku. Po napotkaniu białych znaków zwraca łańcuch (z wyłączeniem białych znaków).
Przykład 5: Java Scanner nextLine ()
import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // reads the entire line String value = input.nextLine(); System.out.println("Using nextLine(): " + value); input.close(); ) )
Wynik
Wpisz swoje imię i nazwisko: Jonny Walker. Za pomocą nextLine (): Jonny Walker
W pierwszym przykładzie użyliśmy nextLine()metody do odczytania ciągu znaków od użytkownika.
W przeciwieństwie do next()tej nextLine()metody odczytuje cały wiersz danych wejściowych, w tym spacje. Metoda ta jest zakończona, gdy napotka następnego wiersza charakter .
Recommended Reading: Java Scanner skipping the nextLine().
Java Scanner with BigInteger and BigDecimal
Java scanner can also be used to read the big integer and big decimal numbers.
- nextBigInteger() - reads the big integer value from the user
- nextBigDecimal() - reads the big decimal value from the user
Example 4: Read BigInteger and BigDecimal
import java.math.BigDecimal; import java.math.BigInteger; import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter a big integer: "); // reads the big integer BigInteger value1 = input.nextBigInteger(); System.out.println("Using nextBigInteger(): " + value1); System.out.print("Enter a big decimal: "); // reads the big decimal BigDecimal value2 = input.nextBigDecimal(); System.out.println("Using nextBigDecimal(): " + value2); input.close(); ) )
Output
Enter a big integer: 987654321 Using nextBigInteger(): 987654321 Enter a big decimal: 9.55555 Using nextBigDecimal(): 9.55555
In the above example, we have used the java.math.BigInteger and java.math.BigDecimal package to read BigInteger and BigDecimal respectively.
Working of Java Scanner
ScannerKlasa odczytuje całą linię i dzieli linię do tokenów. Tokeny to małe elementy, które mają pewne znaczenie dla kompilatora Java. Na przykład,
Załóżmy, że istnieje ciąg wejściowy:
He is 22
W tym przypadku skaner odczyta całą linię i podzieli ciąg na tokeny: „ On ”, „ is ” i „ 22 ”. Następnie obiekt wykonuje iterację po każdym tokenie i odczytuje każdy token przy użyciu różnych metod.
Uwaga : Domyślnie do dzielenia tokenów używa się spacji.








