Klasa Scanner w Javie służy do wygodnego odczytu danych (tokenów) z różnych źródeł, np. ze standardowego wejścia, pliku lub napisu. Aby z niej korzystać, trzeba utworzyć obiekt tej klasy, czyli wywołać jej konstruktor. Najczęściej spotykana postać to utworzenie skanera dla klawiatury (konsoli): new Scanner(System.in).
Dlaczego tak?
W Javie obiekt powstaje dopiero po użyciu operatora new oraz konstruktora. System.in jest gotowym strumieniem wejściowym typu wejściowego, który przekazuje się jako argument, aby Scanner wiedział, skąd ma czytać dane.
Typowe pułapki w odpowiedziach (dlaczego są błędne):
- Samo importowanie (np. wskazanie pakietu) nie tworzy obiektu – import jedynie umożliwia użycie nazwy klasy bez pełnej ścieżki pakietu.
- Użycie samego System.in nie jest utworzeniem Scanner – to tylko źródło danych, a nie obiekt Scanner.
- Pominięcie operatora new lub błędna składnia konstruktora oznacza, że obiekt nie zostanie utworzony.
Wskazówka egzaminacyjna: szukaj instrukcji, która jednocześnie (1) ma new, (2) wywołuje Scanner(...), (3) jako argument często ma System.in. To komplet cech tworzenia obiektu do wejścia programu.