Сканер Java (з прикладами)

У цьому посібнику ми дізнаємося про 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 ". Потім об’єкт перебирає кожен маркер і зчитує кожен маркер, використовуючи різні методи.

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

Цікаві статті...