Считывание ввода

В первом примере показано, как можно вывести информацию на "стандартное устройство вывода" (т.е. консольное окно), вызвав метод System. out. println. К сожалению, считать информацию со "стандартного устройства ввода" (т.е. клавиатуры) немного сложнее. Однако создать диалоговое окно для ввода данных с клавиатуры возможно следующим образом.

Вызов метода JOptionPane.showInputDialog(promptString) выводит на экран диалоговое окно, в котором пользователь может набрать свои данные (рис. 2.5).

Рис. 2.5. Окно ввода.

Этот метод возвращает строку, набранную пользователем в этом окне. Например, здесь показано, как запросить имя пользователя вашей программы.

String name = JOptionPane.showInputDialog("What is your name?");

Чтобы считать число, нужно выполнить более сложную работу. Метод JOptionPane. showInputDialog возвращает строку, а не число. Для преобразования этой строки в число нужно использовать метод Integer.parselnt или Double.parseDouble, например:

String input = JOptionPane.showInputDialog("How old are you?");

int age = Integer.parselnt(input);

Если пользователь наберет на клавиатуре число 40, то строковой переменной input будет присвоена строка "40". Метод Integer.parselnt преобразовывает строку в соответствующее число, т.е. 40.

Программа, показанная в листинге 2.3, запрашивает имя пользователя и его возраст, а затем выводит сообщение, например, такое:

Hello, Cay. Next year, you'll be 41.

Листинг 2.3. Считывание ввода import javax.swing.*; public class InputTest { public static void main(String[] args) { // Первыйввод String name = JOptionPane. showInputDialog ("Назовите Ваше имя"); // Второйввод String input = JOptionPane. showInputDialog ("Сколько Вам лет?"); // Преобразоватьстроку в целоечисло int age = Integer. parseInt (input); // Вывестирезультатнаконсоль System. out. println("Привет, " + name + ". В следующем году Вам будет " + (age + 1)); System. exit (0); } }

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

Затем это окно исчезнет, и во вновь появившемся втором диалоговом окне нужно будет ввести ваш возраст.

Результат работы программы будет выведен в консольное, а не диалоговое окно.

Рассмотрим методы JOptionPane.showsInputDialog и System.out.println, поскольку их легче всего использовать.

Заметим, что программа завершает свою работу вызовом метода System.exit(0);

Каждый раз, когда программа вызывает метод JOptionPane.showsInputDialog, ее работу необходимо завершать вызовом метода System.exit(0). В основном это вызвано техническими причинами. Вывод на экран диалогового окна запускает новый поток управления. При завершении работы метода main этот новый поток управления не прекращает свою работу автоматически. Чтобы закрыть все потоки, нужно вызвать метод System.exit.

Метод System.exit получает целочисленный параметр, представляющий собой "код выхода" из программы. По умолчанию, если работа программы завершилась нормально, ее код выхода равен 0, в противном случае этот код не равен нулю. Для индикации разных ошибочных ситуаций можно использовать разные коды выхода. Завершенная программа передает свой код выхода операционной системе. Затем сценарии и bat-файлы могут проверять этот код.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: