Как получить пользовательский ввод в Java [с примерами]

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

Оглавление

Введение

Принятие пользовательского ввода в Java — это первый шаг к созданию успешного программного обеспечения на Java. Программа на Java получает ввод от пользователя через различные источники ввода, такие как мышь, клавиатура, сетевой запрос, аргументы CLI и т. д. Java также имеет различные пакеты ввода-вывода, которые можно импортировать в программу для выполнения операций ввода-вывода. Эти пакеты поддерживают ввод примитивных типов, таких как double, integer, strings и т. д.

В этой статье основное внимание будет уделено таким методам, как Scanner, BufferedReader и InputStreamReader, для приема пользовательского ввода в Java .

Как получить ввод в Java с помощью класса сканера?

Класс Scanner — это один из методов пакета «java.util», который анализирует и обрабатывает все входные данные примитивного типа. Класс Scanner просит пользователя ввести ввод, а затем выводит его на экран или консоль. Вы можете импортировать класс Scanner из пакета «java.util» в программу и создать объект для использования его методов.

Например,

Тест сканера = новый сканер (System.in);

В приведенном выше операторе test — это имя объекта, а System.in — входной поток. Созданный экземпляр Scanner будет сканировать пользовательский ввод в Java .

Примечание. Нет необходимости писать System.in в качестве входной строки в вашей программе. Вы можете заменить его файлом и файлом для чтения, строкой в ​​качестве входного потока.

Например,

Тест сканера = новый сканер (новый FileInputStream («testFile.txt»), «UTF-8»);

Убедитесь, что вы написали код {test.close()}, чтобы закрыть сканер, когда закончите его редактирование.

Методы сканера для чтения входных данных от пользователя

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

Метод Тип возврата Описание
Следующий() Нить Возвращает следующий токен из Сканера
следующий байт() Байт Считывает следующий ввод как байт.
следующийПоплавок() Плавать Считывает следующий ввод как число с плавающей запятой.
следующийInt() Целое число Считывает следующий ввод как целое число.
следующийШорт() короткий Прочитайте следующий ввод как короткий.
следующая длинная () Длинная Прочитайте следующий вход как длинный.
следующийбулев() логический Считывает следующий ввод как логическое значение и возвращает значение.
следующая строка () Нить Перемещает сканер на одну строку вперед и возвращает пропущенный ввод.

Пример

Следующая программа на Java использует класс Scanner для приема пользовательского ввода в Java (строка, целое число и на плаву).

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

класс TakeUserInput

{

public static void main (String args [])

{

в а;

поплавок б;

Строка с;

Тест сканера = новый сканер (System.in);

//Взять пользовательский ввод как строку

System.out.println("Введите строку: ");

c = in.nextLine();

System.out.println("Строка пользовательского ввода: "+c);

// Принимаем пользовательский ввод как целое число

System.out.println("Введите целое число:");

а = in.nextInt();

System.out.println("Введенное пользователем целое число: "+a);

// Принимаем пользовательский ввод как число с плавающей запятой

System.out.println("Введите число с плавающей запятой:");

б = in.nextFloat();

System.out.println("Вводимое пользователем число с плавающей запятой: "+b);

}}

Выход

Введите строку:

Андрей

Строка пользовательского ввода: Эндрю

Введите целое число:

03

Вводимое пользователем целое число: 03

Введите число с плавающей запятой:

61,46

Пользовательский ввод с плавающей запятой: 61,46

Если вы хотите узнать больше о вводе данных в Java с помощью класса сканера, ознакомьтесь с разделом « Ввод нескольких строк в Java с помощью блога сканера».

Методы BufferedReader и InputStreamReader

BufferedReader — это еще один класс в Java, который сканирует поток символов из символьного входного потока. InputStreamReader — это функция в Java, которая преобразует входной поток в последовательность символов для сканирования BufferedReader. Класс BufferedReader принимает InputStream в качестве параметра.

Класс BufferedReader использует методы read() и readLine() для чтения символов и следующей строки и их возврата.

Вы должны импортировать пакет java.io.BufferedReader, чтобы создать класс BufferedReader.

// Создает FileReader

Тест FileReader = новый FileReader (строковый файл);

// Создает BufferedReader

BufferedReader a = новый BufferedReader (тест);

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

Методы BufferedReader для чтения входных данных от пользователя

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

Метод Описание
готов() Проверяет, находится ли средство чтения файлов в состоянии чтения.
отметка() Отмечает позицию в буферизованном считывателе, до которой были прочитаны данные.
сброс настроек() Возвращает элемент управления в точку, где была установлена ​​метка.

Пример

Следующая программа на Java использует класс BufferedReader вместе с классом InputStreamReader для приема пользовательского ввода в Java .

импортировать java.io.BufferedReader;

импортировать java.io.FileReader;

импортировать java.io.IOException;

тест открытого класса {

public static void main(String[] args) {

Буфер BufferedReader = null;

пытаться {

Строка scanFirstLine;

буфер = новый BufferedReader(новый FileReader("D:\\user_input.txt"));

в то время как ((scanFirstLine = buffer.readLine()) != ноль) {

System.out.println(scanFirstLine);

}

} поймать (IOException а) {

а.printStackTrace();

} наконец {

пытаться {

если (буфер != ноль)

буфер.закрыть();

} поймать (IOException б) {

б.printStackTrace();

} } } }

Выход

В файле находятся следующие данные:

Это пример оператора, который BufferedReader читает из файла.

В приведенном выше примере мы создали буферизованный считыватель с именем buffer. Буферизованный ридер связан с файлом «user_input.txt».

Затем мы использовали метод readLine() для сканирования символов из буфера буферизованного считывателя.

Заключение

В этой статье мы рассмотрели методы, используемые для ввода данных пользователем в Java . Мы обсудили методы Scanner и BufferedReader вместе с примерами. Мы также обсудили методы, которые классы Scanner и BufferedReader используют для ввода данных в Java . Мы надеемся, что у вас есть общее представление о том, как обрабатывать ввод в Java . Если вы хотите узнать больше о языке программирования Java, ознакомьтесь с курсом UpGrad Executive PG Program in Full Stack Development, предназначенным для работающих профессионалов.

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

Подать заявку на получение сертификата upGrad PG в области разработки программного обеспечения