logo

Skaner Java

Klasę skanera w Javie znajdziesz w pakiecie java.util. Java udostępnia różne sposoby odczytywania danych wejściowych z klawiatury, a klasa java.util.Scanner jest jednym z nich.

Klasa Java Scanner dzieli dane wejściowe na tokeny, używając ogranicznika, którym domyślnie są białe znaki. Zapewnia wiele metod odczytu i analizy różnych wartości pierwotnych.

Klasa Java Scanner jest szeroko stosowana do analizowania tekstu pod kątem ciągów i typów pierwotnych przy użyciu wyrażeń regularnych. Jest to najprostszy sposób na uzyskanie danych wejściowych w Javie. Za pomocą skanera w Javie możemy uzyskać dane wejściowe od użytkownika w typach pierwotnych, takich jak int, long, double, byte, float, short itp.

Klasa Java Scanner rozszerza klasę Object i implementuje interfejsy Iterator i Closeable.

Klasa Java Scanner udostępnia metody nextXXX() umożliwiające zwrócenie typu wartości, takie jak nextInt(), nextByte(), nextShort(), next(), nextLine(), nextDouble(), nextFloat(), nextBoolean() itp. Aby pobrać ze skanera pojedynczy znak, możesz wywołać metodę next().charAt(0), która zwraca pojedynczy znak.

Deklaracja klasy skanera Java

 public final class Scanner extends Object implements Iterator 

Jak zdobyć skaner Java

Aby uzyskać instancję skanera Java, która odczytuje dane wejściowe od użytkownika, musimy przekazać strumień wejściowy (System.in) w konstruktorze klasy Scanner. Na przykład:

 Scanner in = new Scanner(System.in); 

Aby uzyskać instancję skanera Java, która analizuje ciągi znaków, musimy przekazać ciągi znaków w konstruktorze klasy Scanner. Na przykład:

 Scanner in = new Scanner('Hello Javatpoint'); 

Konstruktory klas skanera Java

SN Konstruktor Opis
1) Skaner (źródło pliku) Konstruuje nowy skaner, który generuje wartości zeskanowane z określonego pliku.
2) Skaner (źródło pliku, ciąg znakówName) Konstruuje nowy skaner, który generuje wartości zeskanowane z określonego pliku.
3) Skaner (źródło wejściowego strumienia) Konstruuje nowy skaner, który generuje wartości zeskanowane z określonego strumienia wejściowego.
4) Skaner (źródło strumienia wejściowego, ciąg znakówName) Konstruuje nowy skaner, który generuje wartości zeskanowane z określonego strumienia wejściowego.
5) Skaner (źródło czytelne) Konstruuje nowy skaner, który generuje wartości zeskanowane z określonego źródła.
6) Skaner (źródło ciągu) Konstruuje nowy skaner, który generuje wartości zeskanowane z określonego ciągu.
7) Skaner (źródło ReadableByteChannel) Konstruuje nowy skaner, który generuje wartości zeskanowane z określonego kanału.
8) Skaner (źródło ReadableByteChannel, ciąg znaków charsetName) Konstruuje nowy skaner, który generuje wartości zeskanowane z określonego kanału.
9) Skaner (źródło ścieżki) Konstruuje nowy skaner, który generuje wartości zeskanowane z określonego pliku.
10) Skaner (źródło ścieżki, ciąg znakówName) Konstruuje nowy skaner, który generuje wartości zeskanowane z określonego pliku.

Metody klas skanera Java

Poniżej znajduje się lista metod skanera:

SN Modyfikator i typ metoda Opis
1) próżnia zamknąć() Służy do zamykania tego skanera.
2) wzór ogranicznik() Służy do uzyskania wzorca, którego aktualnie używa klasa Scanner do dopasowywania ograniczników.
3) Strumień Znajdź wszystko() Służy do znalezienia strumienia wyników dopasowania pasujących do podanego ciągu wzorca.
4) Strunowy findInLine() Służy do znalezienia następnego wystąpienia wzorca zbudowanego z określonego ciągu, ignorując ograniczniki.
5) strunowy znajdźW Horyzoncie() Służy do znalezienia następnego wystąpienia wzorca zbudowanego z określonego ciągu, ignorując ograniczniki.
6) wartość logiczna maNastępny() Zwraca wartość true, jeśli ten skaner ma na wejściu inny token.
7) wartość logiczna hasNextBigDecimal() Służy do sprawdzania, czy następny token na wejściu tego skanera może zostać zinterpretowany jako BigDecimal przy użyciu metody nextBigDecimal(), czy nie.
8) wartość logiczna hasNextBigInteger() Służy do sprawdzania, czy następny token na wejściu tego skanera może zostać zinterpretowany jako BigDecimal przy użyciu metody nextBigDecimal(), czy nie.
9) wartość logiczna maNextBoolean() Służy do sprawdzania, czy następny token na wejściu tego skanera może zostać zinterpretowany jako wartość logiczna przy użyciu metody nextBoolean(), czy nie.
10) wartość logiczna maNextByte() Służy do sprawdzania, czy następny token na wejściu tego skanera może zostać zinterpretowany jako bajt przy użyciu metody nextBigDecimal(), czy nie.
jedenaście) wartość logiczna maNextDouble() Służy do sprawdzenia, czy następny token na wejściu tego skanera może zostać zinterpretowany jako BigDecimal przy użyciu metody nextByte(), czy nie.
12) wartość logiczna maNextFloat() Służy do sprawdzania, czy następny token na wejściu tego skanera może zostać zinterpretowany jako Float przy użyciu metody nextFloat(), czy nie.
13) wartość logiczna maNextInt() Służy do sprawdzania, czy następny token na wejściu tego skanera może zostać zinterpretowany jako int przy użyciu metody nextInt(), czy nie.
14) wartość logiczna maNastępnąLinię() Służy do sprawdzenia, czy na wejściu tego skanera znajduje się inna linia, czy nie.
piętnaście) wartość logiczna maNextLong() Służy do sprawdzania, czy następny token na wejściu tego skanera może zostać zinterpretowany jako Long przy użyciu metody nextLong(), czy nie.
16) wartość logiczna maNextShort() Służy do sprawdzania, czy następny token na wejściu tego skanera może zostać zinterpretowany jako Short przy użyciu metody nextShort(), czy nie.
17) Wyjątek IO ioException() Służy do uzyskania ostatniego wyjątku IOException zgłoszonego przez odczyt tego skanera.
18) Lokalny lokalny() Służy do uzyskania ustawień regionalnych klasy Scanner.
19) Wynik meczu mecz() Służy do uzyskania wyniku dopasowania ostatniej operacji skanowania wykonanej przez ten skaner.
20) Strunowy Następny() Służy do pobrania kolejnego kompletnego tokena z używanego skanera.
dwadzieścia jeden) Duży dziesiętny następnyDużyDziesiętny() Skanuje następny token wejścia jako BigDecimal.
22) Duża liczba całkowita następnaBigInteger() Skanuje następny token wejścia jako BigInteger.
23) wartość logiczna następnyBoolean() Skanuje następny token wejściowy do wartości logicznej i zwraca tę wartość.
24) bajt następny bajt() Skanuje następny token wejścia jako bajt.
25) podwójnie następnyDouble() Skanuje następny token wejścia jako podwójny.
26) platforma następnyFloat() Skanuje następny token wejścia jako float.
27) wew następnyInt() Skanuje następny token wejścia jako Int.
28) Strunowy następna linia() Służy do pobrania ciągu wejściowego, który został pominięty w obiekcie Scanner.
29) długi następnyDługi() Skanuje następny token wejścia jako długi.
30) krótki następny krótki() Skanuje następny token wejścia jako krótki.
31) wew źródło() Służy do uzyskania domyślnej podstawy użycia skanera.
32) próżnia usunąć() Jest używany, gdy operacja usuwania nie jest obsługiwana przez tę implementację Iteratora.
33) Skaner Resetowanie() Służy do resetowania używanego skanera.
3. 4) Skaner pominąć() Pomija dane wejściowe pasujące do określonego wzorca, ignorując ograniczniki
35) Strumień tokeny() Służy do pobrania strumienia tokenów oddzielonych ogranicznikami z używanego obiektu Scanner.
36) Strunowy doString() Służy do uzyskania ciągu znaków reprezentującego skaner za pomocą.
37) Skaner użyjDelimiter() Służy do ustawienia wzorca ograniczającego używanego skanera na określony wzór.
38) Skaner użyj ustawień regionalnych() Służy do ustawienia obiektu ustawień regionalnych tego skanera na określone ustawienia regionalne.
39) Skaner użyjRadix() Służy do ustawienia domyślnej podstawy używanego skanera na określoną podstawę.

Przykład 1

Zobaczmy prosty przykład skanera Java, w którym otrzymujemy pojedyncze dane wejściowe od użytkownika. Tutaj prosimy o ciąg znaków poprzez metodę in.nextLine().

 import java.util.*; public class ScannerExample { public static void main(String args[]){ Scanner in = new Scanner(System.in); System.out.print('Enter your name: '); String name = in.nextLine(); System.out.println('Name is: ' + name); in.close(); } } 

Wyjście:

 Enter your name: sonoo jaiswal Name is: sonoo jaiswal 

Przykład 2

 import java.util.*; public class ScannerClassExample1 { public static void main(String args[]){ String s = 'Hello, This is JavaTpoint.'; //Create scanner Object and pass string in it Scanner scan = new Scanner(s); //Check if the scanner has a token System.out.println('Boolean Result: ' + scan.hasNext()); //Print the string System.out.println('String: ' +scan.nextLine()); scan.close(); System.out.println('--------Enter Your Details-------- '); Scanner in = new Scanner(System.in); System.out.print('Enter your name: '); String name = in.next(); System.out.println('Name: ' + name); System.out.print('Enter your age: '); int i = in.nextInt(); System.out.println('Age: ' + i); System.out.print('Enter your salary: '); double d = in.nextDouble(); System.out.println('Salary: ' + d); in.close(); } } 

Wyjście:

 Boolean Result: true String: Hello, This is JavaTpoint. -------Enter Your Details--------- Enter your name: Abhishek Name: Abhishek Enter your age: 23 Age: 23 Enter your salary: 25000 Salary: 25000.0 

Przykład 3

 import java.util.*; public class ScannerClassExample2 { public static void main(String args[]){ String str = 'Hello/This is JavaTpoint/My name is Abhishek.'; //Create scanner with the specified String Object Scanner scanner = new Scanner(str); System.out.println('Boolean Result: '+scanner.hasNextBoolean()); //Change the delimiter of this scanner scanner.useDelimiter('/'); //Printing the tokenized Strings System.out.println('---Tokenizes String---'); while(scanner.hasNext()){ System.out.println(scanner.next()); } //Display the new delimiter System.out.println('Delimiter used: ' +scanner.delimiter()); scanner.close(); } } 

Wyjście:

 Boolean Result: false ---Tokenizes String--- Hello This is JavaTpoint My name is Abhishek. Delimiter used: /