Как вводить данные с клавиатуры в Java

Обновлено: 07.07.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 для построчного чтения данных с клавиатуры.

keyboard

Еще один пример чтения данных с клавиатуры классами InputStreamReader и BufferdReader, пока пользователь не напишет stop

В этом примере мы читаем и печатаем данные до тех пор, пока пользователь не напечатает остановку.

Youtube

Для просмотра видео присоединяйтесь к нашему каналу Youtube: присоединяйтесь сейчас

Отзыв

Помогите другим, поделитесь

facebook
twitter
pinterest

Изучите последние руководства

Шаблоны проектирования Python

Подготовка

Aptitude

Логическое мышление

Вербальная способность

Вопросы для собеседования с компанией

Тенденционные технологии

B.Tech / MCA

Службы Javatpoint

JavaTpoint предлагает слишком много высококачественных услуг. Напишите нам на [email protected], чтобы получить больше информации о предоставляемых услугах.

  • Дизайн веб-сайта
  • Разработка веб-сайта
  • Разработка Java
  • Разработка PHP
  • Вордпресс
  • Графический дизайн
  • Логотип
  • Цифровой маркетинг
  • Поисковая оптимизация на странице и за ее пределами
  • Контекстная реклама
  • Разработка контента
  • Корпоративное обучение
  • Обучение в классе и онлайн
  • Ввод данных

Подготовка к университетскому городку

Читайте также: