Сканер Java (с примерами)

В этом руководстве мы узнаем о Java-сканере и его методах с помощью примеров.

ScannerКласс java.utilпакета используется для чтения входных данных из различных источников , таких как входные потоки, пользователи, файлы и т.д. Давайте рассмотрит пример.

Пример 1. Прочтите строку текста с помощью сканера

 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(); ) )

Вывод

 Введите свое имя: Кельвин Меня зовут Кельвин

В приведенном выше примере обратите внимание на строку

 Scanner input = new Scanner(System.in);

Здесь мы создали объект Scannerименованного ввода.

System.inПараметр используется для ввода взять из стандартного ввода. Он работает так же, как ввод с клавиатуры.

Затем мы использовали nextLine()метод Scannerкласса, чтобы прочитать строку текста от пользователя.

Теперь, когда у вас есть некоторое представление об этом Scanner, давайте рассмотрим его подробнее.

Импортировать класс сканера

Как видно из приведенного выше примера, нам нужно импортировать java.util.Scannerпакет, прежде чем мы сможем использовать Scannerкласс.

 import java.util.Scanner;

Чтобы узнать больше об импорте пакетов, посетите Java Packages.

Создайте объект сканера в Java

После импорта пакета вот как мы можем создавать Scannerобъекты.

 // 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);

Здесь мы создали объекты Scannerкласса, которые будут читать ввод из InputStream, File и String соответственно.

Методы сканера Java для ввода

ScannerКласс предоставляет различные методы , которые позволяют читать входы различных типов.

Метод Описание
nextInt() читает intзначение от пользователя
nextFloat() читает floatзначение от пользователя
nextBoolean() читает booleanзначение от пользователя
nextLine() читает строку текста от пользователя
next() читает слово пользователя
nextByte() читает byteзначение от пользователя
nextDouble() читает doublзначение e от пользователя
nextShort() читает shortзначение от пользователя
nextLong() читает longзначение от пользователя

Пример 2: Java-сканер 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(); ) )

Вывод

 Введите целое число: 22 Используя nextInt (): 22

В приведенном выше примере мы использовали nextInt()метод для чтения целочисленного значения.

Пример 3: Java-сканер 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(); ) )

Вывод

 Введите значение Double: 33,33. Используя nextDouble (): 33,33

В приведенном выше примере мы использовали nextDouble()метод для чтения значения с плавающей запятой.

Пример 4: Java-сканер 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(); ) )

Вывод

 Введите свое имя: Джонни Уокер Использование next (): Джонни

В приведенном выше примере мы использовали next()метод для чтения строки от пользователя.

Здесь мы указали полное имя. Однако next()метод считывает только имя.

Это связано с тем, что next()метод считывает ввод до символа пробела . Как только пробел встречается, он возвращает строку (за исключением пробела).

Пример 5: Java-сканер 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(); ) )

Вывод

 Введите свое имя: Джонни Уокер Использование nextLine (): Джонни Уокер

В первом примере мы использовали nextLine()метод для чтения строки от пользователя.

В отличие от next()этого nextLine()метод считывает всю строку ввода, включая пробелы. Метод завершается , когда он встречает следующий символ строки .

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

ScannerКласс считывает всю строку и делит строку на лексемы. Токены - это небольшие элементы, которые имеют некоторое значение для компилятора Java. Например,

Предположим, есть входная строка:

 He is 22

В этом случае объект сканера прочитает всю строку и разделит строку на токены: « Он », « есть » и « 22 ». Затем объект перебирает каждый токен и читает каждый токен, используя свои различные методы.

Примечание . По умолчанию для разделения токенов используется пробел.

Интересные статьи...