Java Scanner (z przykładami)

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.

Interesujące artykuły...