Java | Ввод и получение данных от пользователя

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

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

Один действительно полезный класс в Java, который обрабатывает ввод пользователя, называется классом Scanner. Класс Scanner можно найти в библиотеке java.util.

Чтобы использовать класс Scanner, вам нужно сослаться на него в своем коде. Это делается с помощью импорта ключевых слов.

import java.util.Scanner;

Оператор import должен находиться чуть выше оператора Class:

import java.util.Scanner;
public class StringVariables {
  
}

Это говорит Java, что вы хотите использовать определенный класс в определенной библиотеке - класс Scanner, который находится в библиотеке java.util.

Следующее, что вам нужно сделать, это создать объект из класса Scanner. (Класс - это просто набор кода. Он ничего не делает, пока вы не создадите из него новый объект.)

Для создания нового объекта Scanner напишите код:

Scanner user_input = new Scanner(System.in, "Cp1251");

Вместо того, чтобы устанавливать переменную int или переменную String, мы настраиваем переменную Scanner. Мы назвали ее user_input.

После знака равенства у нас есть ключевое слово new. Оно используется для создания новых объектов из класса.

Мы создаем объект из класса Scanner. В скобках мы говорим Java, что это будет System Input и русская кодировка, чтоб ввод был распознан как русский текст (System.in, "Cp1251").

Чтобы получить пользовательский ввод, вы можете вызвать в действие один из методов, доступных для объекта Scanner.

Методы класса Scanner, которые обрабатывают ввод пользователя в Java:

  • next(): получает введенную строку до первого пробела
  • nextLine(): получает всю введенную строку
  • nextInt(): получает введенное число int
  • nextDouble(): получает введенное число double
  • nextBoolean(): получает значение boolean
  • nextByte(): получает введенное число byte (число от -128 до 127)
  • nextFloat(): получает введенное число float
  • nextShort(): получает введенное число short (число от -32768 до 32767)

Для нашего нового объекта Scanner мы будем использовать метод next:

String first_name;
first_name = user_input.next();

Чтоб увидеть весь список доступных методов, введите после нашего объекта user_input точку. Нам нужен next. Дважды кликните по next и введите точку с запятой, чтобы завершить строку. Также мы напечатаем некоторый текст, как предложение о вводе данных:

String first_name;
System.out.print("Введите имя: ");
first_name = user_input.next();

Обратите внимание, что мы использовали print, а не println, как в прошлый раз. Разница между ними заключается в том, что println переместит курсор на новую строку после вывода, а print оставит курсор на той же строке.

Также мы добавим предложение о вводе фамилии:

String family_name;
System.out.print("Введите фамилию: ");
family_name = user_input.next();

Это тот же код, за исключением того, что java теперь будет хранить все, что пользователь вводит, в нашу переменную family_name вместо переменной first_name.

Чтобы распечатать ввод, мы можем добавить следующее:

String full;
full = first_name + " " + family_name;
        
System.out.println("Вас зовут " + full);

Мы установили еще одну переменную String - full. В ней мы сохраним все, что есть в двух переменных first_name и family_name (в строке ввода ввел пользователь). Между ними мы добавили пробел. Последняя строка выводит все это в окно вывода.

Адаптируйте ваш код так, чтобы он соответствовал следующему изображению:

Пример ввода в Java

Запустите программу, и в окне «Вывод» отобразится следующее:

Окно вывода Scanner

На этом этапе Java приостанавливается, пока вы не введете что-либо на клавиатуре. Работа кода не продолжиться, пока вы не нажмете клавишу ввода. Итак, кликните левой кнопкой мыши после «Введите имя:», и вы увидите, что курсор мигает. Введите имя и нажмите клавишу ввода на клавиатуре.

После того, как вы нажмете клавишу ввода, java возьмет то, что было набрано, и сохранит его в имени переменной слева от знака равенства. Для нас это была переменная с именем first_name.

Затем программа переходит к следующей строке кода:

Окно вывода Scanner 2

Введите фамилию и снова нажмите клавишу ввода:

Окно вывода Scanner 3

Пользовательский ввод завершен, а остальная часть программы выполняется. Это вывод двух имен. Конечный результат должен выглядеть так:

Окно вывода Scanner результат

Таким образом, мы использовали класс Scanner для получения ввода от пользователя. Все, что было напечатано, сохранилось в переменных. Затем результат был напечатан в окне вывода.

В следующем уроке мы кратко рассмотрим класс JOptionPane.

Дата обновления: 21.07.2019

  • Текущий 0.00/5
  • 1
  • 2
  • 3
  • 4
  • 5

/Рейтинг: 0.0/5 (0 голос(ов) всего)

Добавить комментарий (без регистрации)