Klasa skanera w Javie: rodzaje konstruktorów i metod, jak używać [z przykładami]

Opublikowany: 2020-07-28

Każdy, kto pracuje z językiem programowania Java, doskonale zna klasę Scanner w Javie. A dla początkujących programistów Java, którzy nie wiedzą, czym jest klasa Scanner i jak używać klasy Scanner w Javie, ten artykuł jest idealnym wprowadzeniem do niej.

W tym poście zajmiemy się szczegółowym omówieniem klasy Scanner w Javie, jej różnych metod i sposobu ich działania. Jeśli więc nie możesz się doczekać, aby dowiedzieć się więcej o klasie Scanner w Javie, czytaj dalej do końca!

Spis treści

Czym jest klasa Scanner w Javie?

Klasa Scanner w Javie służy przede wszystkim do uzyskiwania danych wejściowych użytkownika. Zawiera go pakiet java.util. Klasa Scanner nie tylko rozszerza klasę Object, ale może również implementować interfejsy Iterator i Closeable. Dzieli dane wejściowe użytkownika na tokeny za pomocą ogranicznika, którym domyślnie jest spacja.

Korzystanie z klasy Scanner jest dość łatwe – najpierw tworzysz obiekt klasy, a następnie używasz dowolnej z dostępnych metod zawartych w dokumentacji klasy Scanner.

Oprócz tego, że jest jednym z najprostszych sposobów uzyskiwania danych wejściowych użytkownika, klasa Scanner jest szeroko używana do analizowania tekstu pod kątem ciągów i typów pierwotnych za pomocą wyrażenia regularnego. Na przykład możesz użyć klasy Scanner, aby uzyskać dane wejściowe dla różnych typów podstawowych, takich jak int, long, double, byte, float i short, żeby wymienić tylko kilka.

Możesz zadeklarować klasę Java Scanner w następujący sposób:

Publiczna klasa końcowa Skaner

rozszerza obiekt

implementuje Iterator<String>

Jeśli chcesz uzyskać instancję klasy Scanner, która odczytuje dane wejściowe użytkownika, musisz przekazać strumień wejściowy (System.in) w konstruktorze klasy Scanner w następujący sposób:

Scanner in = nowy skaner(„Hello upGrad”);

Przeczytaj: 6 najważniejszych powodów, dla których Java jest tak popularna wśród programistów

Jakie są różne konstruktory klasy Scanner?

Oto sześć powszechnie używanych konstruktorów klas Scanner:

  1. Skaner(źródło pliku) — tworzy nowy skaner do generowania wartości zeskanowanych z określonego pliku.
  2. Scanner (źródło InputStream) — tworzy nowy skaner w celu wygenerowania wartości zeskanowanych z określonego strumienia wejściowego.
  3. Scanner(Readable source) — tworzy nowy skaner, który dostarcza wartości zeskanowane z określonego źródła.
  4. Scanner (źródło ciągu) — tworzy nowy skaner w celu wygenerowania wartości zeskanowanych z określonego ciągu.
  5. Scanner (źródło ReadableByteChannel) — tworzy nowy skaner w celu wygenerowania wartości zeskanowanych z określonego kanału.
  6. Scanner(Źródło ścieżki) — tworzy nowy skaner w celu wygenerowania wartości zeskanowanych z określonego pliku.

Jakie są różne metody klasy Scanner?

Podobnie jak w przypadku konstruktorów klas Scanner, istnieje również obszerny zestaw metod klasy Scanner, z których każda służy unikalnemu celowi. Możesz użyć metod klasy Scanner dla różnych typów danych. Poniżej znajduje się lista najczęściej używanych metod klasy Scanner:

  1. void [close()] – Ta metoda służy do zamykania skanera.
  2. pattern [delimiter()] — ta metoda pomaga uzyskać wzorzec, który jest aktualnie używany przez klasę Scanner, aby dopasować ograniczniki.
  3. Stream<MatchResult> [findAll()] — daje strumień wyników dopasowania, które pasują do określonego ciągu wzorcowego.
  4. String [findInLine()] – Pomaga znaleźć kolejne wystąpienie wzorca utworzonego z określonego ciągu. Ta metoda nie uwzględnia ograniczników.
  5. String [nextLine()] — służy do pobrania ciągu wejściowego, który został pominięty w obiekcie Scanner.
  6. IOException [ioException()] — ta metoda pomaga uzyskać wyjątek IOException ostatnio wyświetlany przez czytelny skaner.
  7. Locale [locale()] — Pobiera Locale klasy Scanner.
  8. MatchResult [match()] — oferuje wynik dopasowania ostatniej operacji skanowania wykonanej przez skaner.
  9. BigDecimal [nextBigDecimal()] — ta metoda służy do skanowania następnego tokenu danych wejściowych jako BigDecimal.
  10. BigInteger [nextBigInteger()] — ta metoda skanuje następny token danych wejściowych jako BigInteger.
  11. byte [nextByte()] — skanuje następny token danych wprowadzonych przez użytkownika jako wartość bajtową.
  12. double [nextDouble()] — skanuje następny token danych wejściowych użytkownika jako wartość podwójną.
  13. float [nextFloat()] — ta metoda skanuje następny token danych wejściowych jako wartość zmiennoprzecinkową.
  14. int [nextInt()] — ta metoda służy do skanowania następnego tokenu danych wejściowych jako wartości Int.
  15. logiczne:
  • [hasNext()] – ta metoda zwraca wartość true, jeśli skaner ma inny token w danych wejściowych użytkownika.
  • [hasNextBigDecimal()] — ta metoda sprawdza, czy następny token w danych wejściowych skanera może być interpretowany jako BigDecimal przy użyciu metody nextBigDecimal().
  • [hasNextBoolean()] – Sprawdza, czy następny token w danych wejściowych skanera może być interpretowany jako Boolean przy użyciu metody nextBoolean().
  • [hasNextByte()] — Sprawdza, czy następny token w danych wejściowych skanera może być interpretowany jako Byte przy użyciu metody nextBigDecimal().
  • [hasNextFloat()] — Sprawdza, czy następny token w danych wejściowych skanera może być interpretowany jako Float przy użyciu metody nextFloat().
  • [hasNextInt()] — Sprawdza, czy następny token w danych wejściowych skanera może być interpretowany jako Int przy użyciu metody nextInt().

Sprawdź: Wynagrodzenie programisty Java w Indiach

Jak korzystać z klasy Scanner w Javie?

Jak wspomnieliśmy wcześniej, korzystanie z klasy Scanner w Javie jest dość łatwe. Poniżej znajduje się przykład pokazujący, jak zaimplementować klasę Scanner za pomocą metody nextLine() :

import java.util.*;

public class ScannerPrzykład {

public static void main(String args[]){

Skaner w = nowy Skaner(System.in);

System.out.print("Wprowadź swoje imię i nazwisko: ");

Nazwa ciągu = in.nextLine();

System.out.println(„Nazwa to: ” + nazwa);

ogrodzić();

}

}

Jeśli uruchomisz ten program, dostarczy następujące dane wyjściowe:

Wpisz swoje imię: John Hanks

Imię i nazwisko to: John Hanks

Przeczytaj także: Co to jest rzutowanie typów w Javie | Zrozumienie rzutowania typu jako początkujący

Zawijanie

W tym artykule omówiono podstawy klasy Scanner w Javie. Jeśli zaznajomisz się z konstrukcjami i metodami klasy Scanner, z czasem i nieustanną praktyką opanujesz sztukę używania klasy Scanner w programach Java.

Jeśli chcesz dowiedzieć się więcej na temat Java, pełnego stosu oprogramowania, sprawdź upGrad i IIIT-B's PG Diploma in Full-stack Software Development, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznych szkoleń, ponad 9 projektów i zadania, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.

Przygotuj się na karierę przyszłości

BRANŻOWE ZAUFANIE NAUKI - CERTYFIKACJA UZNANA W BRANŻY.
Dowiedz się więcej @ AKTUALIZACJA