Как вводить данные с клавиатуры в Java
Обновлено: 21.11.2024
В Java существует четыре разных способа чтения ввода пользователя в среде командной строки (консоли).
- Ввод буферизуется для эффективного чтения.
- Код упаковки трудно запомнить.
Реализация:
Ввод:
Вывод:
Вспомогательное пространство: O(1)
Примечание:
Для чтения других типов мы используем такие функции, как Integer.parseInt(), Double.parseDouble(). Чтобы прочитать несколько значений, мы используем функцию split().
<р>2. Использование класса сканераВозможно, это наиболее предпочтительный способ ввода данных. Основная цель класса Scanner — анализировать примитивные типы и строки с помощью регулярных выражений, однако его также можно использовать для чтения данных, введенных пользователем в командной строке.
- Удобные методы для разбора примитивов (nextInt(), nextFloat(), …) из токенизированного ввода.
- Для поиска токенов можно использовать регулярные выражения.
- Методы чтения не синхронизированы
Чтобы увидеть больше различий, ознакомьтесь с этой статьей.
Ввод:
Вывод:
<р>3. Использование класса консолиЭто становится предпочтительным способом чтения пользовательского ввода из командной строки. Кроме того, его можно использовать для чтения ввода, похожего на пароль, без повторения символов, введенных пользователем; также можно использовать синтаксис строки формата (например, System.out.printf()).
Преимущества:
- Чтение пароля без повторения введенных символов.
- Способы чтения синхронизированы.
- Можно использовать синтаксис строки формата.
- Не работает в неинтерактивной среде (например, в IDE).
Ввод:
Вывод:
Наиболее часто используемый пользовательский ввод для конкурентного кодирования. Аргументы командной строки хранятся в формате String. Метод parseInt класса Integer преобразует строковый аргумент в целое число. Аналогично для float и других во время исполнения. Использование args[] появляется в этой форме ввода. Передача информации происходит во время работы программы. Командная строка передается в args[]. Эти программы должны запускаться в cmd.
В этом руководстве рассказывается, как получить ввод с клавиатуры или ввод данных пользователем в Java. Мы также включили примеры программ, чтобы помочь вам лучше понять эту тему.
Чтобы получить пользовательский ввод в Java, вы столкнетесь с несколькими классами, такими как Scanner , BufferedReader и Console . Мы будем использовать эти классы для нашей работы, поскольку покажем вам различные методы, которым вы можете следовать.
Получение ввода с клавиатуры с помощью BufferedReader в Java
В этом примере мы использовали класс BufferedReader, который использует экземпляр класса InputStreamReader для чтения пользовательского ввода. Здесь метод readLine() считывает пользовательский ввод и в результате возвращает строку:
Получение ввода с клавиатуры с помощью класса сканера в Java
Класс Scanner — это один из самых простых способов получения пользовательского ввода в Java. Этот класс предоставляет несколько встроенных методов для получения входных данных различных типов, таких как int и float. Здесь мы использовали метод nextInt() для получения типа ввода int:
Получение ввода с клавиатуры с помощью класса консоли в Java
Мы можем использовать класс Console для получения пользовательского ввода в Java. Этот класс принадлежит пакету java.io и предоставляет метод readLine() для чтения пользовательского ввода с консоли. См. пример ниже:
Получение ввода с клавиатуры с помощью аргументов командной строки в Java
В Java аргументы командной строки — это аргументы, которые передаются во время выполнения программы. Метод программы main() имеет строковый параметр, который содержит ввод, поступающий с терминала. Не забудьте получить аргумент командной строки, чтобы передать их во время выполнения программы, и что тип ввода всегда является строковым типом.
Запустите код и передайте ввод с клавиатуры в качестве аргументов командной строки.
Статьи DelftStack написаны такими же фанатами программного обеспечения, как и вы. Если вы также хотите внести свой вклад в DelftStack, написав платные статьи, вы можете посетить страницу «Написать для нас».
Статья по теме — Сканер Java
Статья по теме — Ввод Java
сообщить об этом объявлении
Ввод — это текст, написанный пользователем и прочитанный программой. Ввод всегда читается как строка. Для чтения входных данных мы используем инструмент Scanner, который поставляется с Java. Инструмент можно импортировать для использования в программе, добавив команду import java.util.Scanner; до начала кадра основной программы ( открытый класс . ). Сам инструмент создается с помощью Scanner scanner = new Scanner(System.in); .
Ниже приведен пример программы, которая запрашивает ввод данных пользователем, считывает строку, введенную пользователем, а затем печатает ее.
Точнее, ввод считывается с помощью метода nextLine() сканера. Вызов scan.nextLine() остается ждать, пока пользователь что-нибудь напишет.Когда пользователь что-то пишет и нажимает ввод, предоставленная строка присваивается строковой переменной (в данном случае message ). Затем программа может ссылаться на переменное сообщение позже — в приведенном выше примере переменное сообщение упоминается в команде печати.
Когда программа запущена, ее вывод может выглядеть так, как показано в примере ниже. В этом примере пользователь написал текст «Hello world» — в примерах пользовательский ввод отмечен красным цветом.
Написать сообщение: Привет, мир Привет, мир
В приведенном ниже видеоролике показан процесс создания программы, которая считывает вводимые пользователем данные. Посмотрите видео перед выполнением следующего упражнения по программированию. Обратите особое внимание на то, как вводимые пользователем данные передаются в окно вывода, расположенное в нижней части TMC, во время работы программы.
Дальше давайте сделаем шаг назад и посмотрим, что же такое String message = . даже значит.
Основы работы со строками
Как вы могли заметить, в программировании мы имеем в виду "строки", а не "текст". Термин "строка" является сокращением от "строка символов", которая описывает, как компьютер видит текст на более фундаментальном уровне: как последовательность отдельных символов.
До сих пор мы использовали строки двумя способами. При отработке команды печати мы передавали строку для печати команде печати в кавычках, а при отработке чтения ввода мы сохраняли прочитанную строку в переменной.
На практике переменные представляют собой именованные контейнеры, которые содержат информацию определенного типа и имеют имя. Строковая переменная объявляется в программе путем указания типа переменной (String) и ее имени (например, myString). Обычно переменной также присваивается значение во время ее объявления. Вы можете присвоить значение, поставив после объявления знак равенства, за которым следует значение и точка с запятой.
Строковая переменная с именем message, которой присвоено значение "Hello world!" объявляется следующим образом:
При создании переменной в программе становится доступным определенный контейнер, на содержимое которого впоследствии можно будет ссылаться. На переменные ссылаются по их имени. Например, создание и печать строковой переменной выполняется так, как показано ниже:
Строка, заключенная в кавычки языка программирования, называется "строковым литералом", т. е. строкой с указанным значением. Распространенной ошибкой программирования является попытка заключать имена переменных в кавычки. Если бы строковая переменная message была заключена в кавычки, программа напечатала бы текст «message» вместо «Hello world!». текст, хранящийся в переменной сообщения.
Конкатенация — объединение строк
Строка для печати может быть сформирована из нескольких строк с помощью оператора +. Например, программа ниже печатает «Hello world!» на одной строке.
Тот же метод можно использовать для соединения строкового литерала и значения строковой переменной.
Привет, мир! . и вселенная!
То же самое можно сделать с любым количеством строк.
Меня зовут Бонд, Джеймс Бонд
Чтение строк
Считыватель.nextLine(); Команда считывает ввод пользователя и возвращает строку. Если мы потом хотим использовать строку в программе, ее нужно сохранить в строковую переменную — String message = scan.nextLine(); . Значение, сохраненное в переменной, можно использовать повторно. В приведенном ниже примере пользовательский ввод печатается дважды.
Напишите сообщение: оно будет напечатано дважды. Это будет напечатано дважды. Это будет напечатано дважды.
Входная строка как часть вывода
Мы заметили в сообщении "Привет, Ада Лавлейс!" Убедиться, что строковые литералы и строковые переменные можно соединять с помощью оператора +. В приведенном ниже примере демонстрируется программа, которая принимает пользовательский ввод и печатает его, объединенный со строковым литералом.
Напишите что-нибудь: это Вы написали это
Выполнение программы ожидает ввода
Когда в выполнение программы поступает оператор, который пытается прочитать ввод от пользователя (команда reader.nextLine() ), выполнение останавливается и ожидает. Выполнение продолжается только после того, как пользователь введет некоторые данные и нажмет Enter.
В приведенном ниже примере программа запрашивает у пользователя три строки. Сначала программа печатает Write первая строка: , а затем ожидает ввода пользователем. Когда пользователь вводит какой-либо текст, программа печатает Write the second string: , а затем снова ожидает ввода пользователем. Это продолжается в третий раз, после чего программа печатает все три строки.
Напишите первую строку: Первая Напишите вторую строку: вторая Напишите третью строку: третья Вы написали: Первая вторая третья
В предыдущем примере мы сохранили пользовательский ввод в трех разных строковых переменных. Это можно сделать, если все переменные имеют разные имена (в примере это имена first , second и Third )
Мы можем формировать более сложные тексты, содержимое которых меняется в зависимости от ввода пользователя, используя больше строк.В приведенном ниже примере пользователю рассказывают немного больше о написанных им текстах — обратите внимание, что порядок, в котором печатаются строки, может быть изменен. В приведенном ниже примере третья входная строка печатается первой.
Напишите первую строку: One Напишите вторую строку: two Напишите третью строку: three Последней строкой, которую вы написали, было три, которой предшествовало два. Первая струна была одна. Все вместе: раз, два, три
Не забудьте проверить свои баллы по шарику в правом нижнем углу материала!
Пример чтения данных с клавиатуры классами InputStreamReader и BufferdReader
В этом примере мы соединяем поток BufferedReader с потоком InputStreamReader для построчного чтения данных с клавиатуры.
Еще один пример чтения данных с клавиатуры классами InputStreamReader и BufferdReader, пока пользователь не напишет stop
В этом примере мы читаем и печатаем данные до тех пор, пока пользователь не напечатает остановку.
Для просмотра видео присоединяйтесь к нашему каналу Youtube: присоединяйтесь сейчас
Отзыв
Помогите другим, поделитесь
Изучите последние руководства
Шаблоны проектирования Python
Подготовка
Тенденционные технологии
B.Tech / MCA
Службы Javatpoint
JavaTpoint предлагает слишком много высококачественных услуг. Напишите нам на [email protected], чтобы получить больше информации о предоставляемых услугах.
- Дизайн веб-сайта
- Разработка веб-сайта
- Разработка Java
- Разработка PHP
- Вордпресс
- Графический дизайн
- Логотип
- Цифровой маркетинг
- Поисковая оптимизация на странице и за ее пределами
- Контекстная реклама
- Разработка контента
- Корпоративное обучение
- Обучение в классе и онлайн
- Ввод данных
Подготовка к университетскому городку
Читайте также: