У цьому посібнику ми дізнаємося про Java Scanner та його методи за допомогою прикладів.
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 наступний ()
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(); ) )
Вихідні дані
Введіть своє ім'я: Jonny Walker Використовуючи next (): Jonny
У наведеному вище прикладі ми використовували 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
У цьому випадку об'єкт сканера прочитає весь рядок і розділить рядок на маркери: " He ", " is " і " 22 ". Потім об’єкт перебирає кожен маркер і зчитує кожен маркер, використовуючи різні методи.
Примітка . За замовчуванням пробіли використовуються для розподілу маркерів.








