Рубрики

Класс сканера в Java

Scanner — это класс в пакете java.util, используемый для получения ввода примитивных типов, таких как int, double и т. Д., А также строк. Это самый простой способ чтения ввода в Java-программе, хотя и не очень эффективный, если вам нужен метод ввода для сценариев, где время является ограничением, как в конкурентном программировании.

  • Чтобы создать объект класса Scanner, мы обычно передаем предопределенный объект System.in, который представляет стандартный поток ввода. Мы можем передать объект класса File, если мы хотим прочитать ввод из файла.
  • Чтобы прочитать числовые значения определенного типа данных XYZ, используйте функцию nextXYZ (). Например, чтобы прочитать значение типа short, мы можем использовать nextShort ()
  • Для чтения строк мы используем nextLine ().
  • Чтобы прочитать один символ, мы используем next (). CharAt (0). Функция next () возвращает следующий токен / слово на входе в виде строки, а функция charAt (0) возвращает первый символ в этой строке.

Давайте посмотрим на фрагмент кода для чтения данных различных типов данных.

// Java-программа для чтения данных различных типов с использованием класса Scanner.

import java.util.Scanner;

public class ScannerDemo1

{

    public static void main(String[] args)

    {

        // Объявляем объект и инициализируем

        // предопределенный стандартный объект ввода

        Scanner sc = new Scanner(System.in);

  

        // Строковый ввод

        String name = sc.nextLine();

  

        // Ввод символов

        char gender = sc.next().charAt(0);

  

        // Числовой ввод данных

        // можно прочитать байты, короткие и плавающие

        // используя функции с похожими именами.

        int age = sc.nextInt();

        long mobileNo = sc.nextLong();

        double cgpa = sc.nextDouble();

  

        // Распечатать значения, чтобы проверить, был ли ввод получен правильно.

        System.out.println("Name: "+name);

        System.out.println("Gender: "+gender);

        System.out.println("Age: "+age);

        System.out.println("Mobile Number: "+mobileNo);

        System.out.println("CGPA: "+cgpa);

    }

}

Вход:

 Компьютерщик
F
40
9876543210
9,9

Выход :

 Имя: Компьютерщик
Пол: F
Возраст: 40
Номер мобильного телефона: 9876543210
CGPA: 9,9 

Иногда мы должны проверить, относится ли следующее значение, которое мы читаем, к определенному типу или ввод закончился (обнаружен маркер EOF).

Затем мы проверяем, имеет ли вход сканера нужный нам тип, с помощью функций hasNextXYZ (), где XYZ — это интересующий нас тип. Функция возвращает true, если у сканера есть токен этого типа, в противном случае — false. Например, в приведенном ниже коде мы использовали hasNextInt (). Чтобы проверить строку, мы используем hasNextLine (). Точно так же, чтобы проверить наличие одного символа, мы используем hasNext (). CharAt (0).

Давайте посмотрим на фрагмент кода, чтобы прочитать некоторые числа из консоли и вывести их среднее значение.

// Java-программа для чтения некоторых значений с помощью Scanner
// Класс и напечатать их среднее.

import java.util.Scanner;

  

public class ScannerDemo2

{

    public static void main(String[] args)

    {

        // Объявляем объект и инициализируем

        // предопределенный стандартный объект ввода

        Scanner sc = new Scanner(System.in);

  

        // Инициализируем сумму и количество входных элементов

        int sum = 0, count = 0;

  

        // Проверяем, доступно ли значение int

        while (sc.hasNextInt())

        {

            // Чтение значения типа int

            int num = sc.nextInt();

            sum += num;

            count++;

        }

        int mean = sum / count;

        System.out.println("Mean: " + mean);

    }

}

Входные данные:

 101
223
238
892
99
500
728

Выход:

 Среднее значение: 397 

Эта статья предоставлена Сукрит Бхатнагар . Если вам нравится GeeksforGeeks и вы хотите внести свой вклад, вы также можете написать статью и отправить ее по почте на contrib@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме

Рекомендуемые посты:

Класс сканера в Java

0.00 (0%) 0 votes