Ввод нескольких строк в Java с использованием сканера [с примером кода]

Опубликовано: 2021-02-05

Оглавление

Введение

В пакете java.util сканер является одним из классов, которые помогают собирать несколько входных данных примитивных типов, таких как double, integer, strings и т. д. Хотя это неэффективный способ чтения входных данных в программе Java, где действует время. как ограничение, это, несомненно, один из самых простых способов собрать несколько входных данных от пользователя. В этом блоге вы узнаете, как собирать несколько строк, введенных пользователем в программе Java, с помощью класса сканера.

Методы получения нескольких входных данных с помощью сканера

Вы должны импортировать пакет java.util в программу перед использованием класса Scanner. В следующей таблице перечислены методы, используемые для получения нескольких входных данных разных типов от пользователя в программе Java.

Метод Входы
следующийInt() Целое число
следующийПоплавок() Плавать
следующийдвойной() Двойной
следующая длинная () Длинная
следующийШорт() короткий
следующий() Одно слово
следующая строка () Линия струн
следующийбулев() логический

Использование метода Java nextLine()

Метод java.util.Scanner.nextLine() возвращает строку, которая была пропущена при перемещении сканера за текущую строку. Если в конце текущей строки указан разделитель строк, этот метод исключает его и возвращает остаток строки от текущей строки. Сканер устанавливается в начале следующей строки и считывает всю строку, включая пробелы в словах.

Синтаксис метода nextLine() следующий:

Публичная строка nextLine()

Этот метод выдает следующие два исключения:

  • NoSuchElementException — если строка пуста или строка не найдена.
  • IllegalStateException — если сканер закрыт.

Пример

В следующем примере показано, как метод java.util.Scanner.nextLine() собирает несколько входных данных от пользователя.

импортировать java.util.Scanner;

открытый класс SacnnerDemoMultipleString

{

public static void main (аргументы String [])

{

Демонстрация сканера = новый сканер (System.in);

System.out.print("Пожалуйста, введите несколько входных данных, которые вы хотите напечатать: ");

//принимает целое число

Строка[] строка = новая строка [demo.nextInt()];

// использование <enter> из ввода выше

демо.следующаястрока();

for (int i = 0; i <string.length; i++)

{

строка[i] = demo.nextLine();

}

System.out.println("\nВы ввели следующие данные: ");

// цикл for-each для печати строки

для (строка ул: строка)

{

Система.out.println(строка);

// закрываем сканер

сканер.закрыть();

}

}

}

Вышеупомянутая программа напечатает следующий вывод

Пожалуйста, введите несколько входных данных, которые вы хотите распечатать: 7

Миша

Гарри

Роберт

Харви

Джилл

Рэйчел

Дженнифер

Вы ввели следующие данные:

Миша

Гарри

Роберт

Харви

Джилл

Рэйчел

Дженнифер

Использование метода Java nextInt()

Метод java.util.Scanner.nextInt() сканирует введенные пользователем данные как целое число. Если целое число найдено, сканер переходит к соответствующему вводу.

Синтаксис метода nextInt() следующий:

Публичный интервал nextInt()

Этот метод создает следующие три исключения:

  • InputMismatchException — если следующий токен не соответствует целочисленному регулярному выражению или если следующий токен выходит за пределы допустимого диапазона.
  • NoSuchElementException — если вход исчерпан.
  • IllegalStateException — если сканер закрыт.

Пример

В следующем примере показано, как метод java.util.Scanner.nextInt() собирает несколько входных данных от пользователя.

// Java-программа для сканирования целых чисел с помощью Scanner

// класс и вывести их среднее значение.

импортировать java.util.Scanner;

открытый класс ScannerDemoInteger

{

public static void main (аргументы String [])

{

Демонстрация сканера = новый сканер (System.in);

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

целая сумма = 0, количество = 0;

// Проверяем наличие целочисленного значения

пока (demo.hasNextInt())

{

// Сканируем целочисленное значение

int num = demo.nextInt();

сумма += число;

количество++;

}

int среднее = сумма/количество;

System.out.println("Среднее: " + среднее);

}

}

Приведенная выше программа получает следующие входные данные:

101

223

238

892

99

500

728

Приведенная выше программа выведет следующий вывод:

Среднее: 397

Читайте также: Проект Java MVC

Использование метода Java nextDouble()

Метод java.util.Scanner.nextDouble() сканирует введенные пользователем данные как двойные. Если найдено регулярное выражение с плавающей запятой, сканер переходит за пределы совпадающего ввода.

Синтаксис метода nextInt() следующий:

публичный двойной nextDouble()

Этот метод создает следующие три исключения:

  • InputMismatchException — если следующий токен не соответствует регулярному выражению с плавающей запятой или если следующий токен выходит за пределы допустимого диапазона.
  • NoSuchElementException — если вход исчерпан.
  • IllegalStateException — если сканер закрыт.

Пример

В примере показано, как метод java.util.Scanner.nextDouble() собирает несколько входных данных от пользователя.

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

импортировать java.util.Scanner;

открытый класс ScannerDoubleRegularExpression {

public static void main(String[] args) {

Строка new = «Доброе утро! 3 + 3,0 = 6 верно»;

// записать новый объект сканера с указанным строковым объектом

Демонстрация сканера = новые сканеры;

// используем локаль США, чтобы иметь возможность идентифицировать дубликаты в строке

demo.useLocale(Язык.США);

// ищем следующий двойной токен и печатаем его

в то время как (demo.hasNext()) {

// если следующее число двойное, вывести найденное и регулярное выражение с плавающей запятой

если (демо.hasNextDouble()) {

System.out.println("Найдено:" + demo.nextDouble());

}

// если двойное регулярное выражение не найдено, вывести «Not Found» и токен

System.out.println("Не найдено:" + demo.next());

}

// закрываем сканер

сканер.закрыть();

}

}

Вышеупомянутая программа приведет к следующему результату:

Не найдено: хорошо

Не найдено: Доброе утро!

Найдено: 3.0

Не найдено: +

Найдено: 3.0

Не найдено: =

Найдено: 6.0

Не найдено: правда

Изучайте онлайн -курсы по разработке программного обеспечения в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Заключение

Например, коды, приведенные в этом блоге, являются целью и могут быть изменены в соответствии с индивидуальными потребностями. Если вам интересно узнать больше о Java и разработке программного обеспечения с полным стеком, ознакомьтесь с программой Executive PG upGrad и IIIT-B по разработке программного обеспечения с полным стеком, которая предназначена для работающих профессионалов и предлагает более 500 часов тщательного обучения, 9+ проекты и задания, статус выпускника IIIT-B, практические практические проекты и помощь в трудоустройстве в ведущих фирмах.

Что такое класс Scanner в Java?

Класс Scanner позволяет считывать значения с клавиатуры без использования ввода с консоли Java. Консольный ввод Java медленный, как и его перенаправление. Scanner быстрее и удобнее, поэтому Scanner следует использовать вместо консольного ввода Java. Сканер использует обычный входной поток Java, поэтому его можно связать с другими парсерами. Scanner также проще в использовании, чем консольный ввод Java. Scanner имеет три основных подкласса, а именно BufferedReader, InputStreamReader и FileReader. Самый общий — BufferedReader. BufferedReader может читать все, что может быть прочитано InputStreamReader, и у него есть одно большое преимущество: буфер. Буфер может содержать одну строку за раз. Входной поток вообще не имеет буфера: когда вы вызываете next(), он возвращает значение. Это означает, что вам нужно собрать значения, прежде чем вы сможете что-то с ними делать. Сканер сделает это за вас.

Что такое построитель строк в Java?

Построитель строк — это новый тип класса для создания строки. Класс построителя строк представлен в Java с версии 1.3. Он позволяет вам создать строку, объединив несколько строк, и автоматически изменит свой размер, когда вы добавите к ней больше строк. По сравнению с конкатенацией строк использование построителя строк быстрее и гибче, хотя и менее читабельно. Объекты StringBuilder — это объекты, которые используются для создания значений String. Объекты StringBuilder имеют ряд методов.

Что такое InputStreamReader в Java?

InputStreamReader считывает поток символов из входного потока и декодирует их в указанную кодировку символов. Он обеспечивает простой способ преобразования потоков символов из одной кодировки в другую. InputStreamReader считывает байты из базового потока и преобразует их в символы, используя указанную кодировку набора символов. Это класс, который используется для преобразования данных потока байтов в данные потока символов. Поток байтов представляет двоичные данные, а поток символов представляет текст.