Как получить пользовательский ввод в 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, предназначенным для работающих профессионалов.