Java за неделю. Вводный курс - стр. 21
Вернитесь к среде разработки NetBeans и введите или загрузите пример программы, использующей оператор выбора (листинг 4.1).
Листинг 4.1 Пример использования оператора выбора
// импортируем класс JOptionPane из библиотеки Swing
import javax.swing.JOptionPane;
public class Listing4_1 {
public static void main (String [] args) {
int userData;
String userInput;
// Выводим окно запроса текущей даты
userInput = JOptionPane.showInputDialog («Введите число от 1 до 3»);
// Преобразуем строку в число в явном виде
userData = Integer.parseInt (userInput);
switch (userData) {
case 1:
JOptionPane.showMessageDialog (null, «Вы ввели число 1»);
break;
case 2:
JOptionPane.showMessageDialog (null, «Вы ввели число 2»);
break;
case 3:
JOptionPane.showMessageDialog (null, «Вы ввели число 3»);
break;
default:
JOptionPane.showMessageDialog (null, «Вы ввели недопустимое число!»);
}
}
}
В этой программе мы используем уже знакомые вам диалоговые окна, чтобы попросить пользователя ввести число от 1 до 3 и вывести ответное сообщение. Если пользователь вводит число в указанном диапазоне, то выводится подтверждение ввода. Если введенное число не соответствует ни одному из контрольных значений, то срабатывает блок default и выводится сообщение об ошибке.
Данная программа наглядно демонстрирует работу оператора switch, но не является оптимальной с точки зрения кода программы.
Давайте воспользуемся знаниями о логических операторах и условном операторе if и перепишем программу. Попробуйте переделать программу самостоятельно, не заглядывая в готовый пример из листинга 4.2.
Листинг 4.2 Пример программы с использованием логического и условного оператора
// импортируем класс JOptionPane из библиотеки Swing
import javax.swing.JOptionPane;
public class Listing4_2 {
public static void main (String [] args) {
int userData;
String userInput;
// Выводим окно запроса текущей даты
userInput = JOptionPane.showInputDialog («Введите число от 1 до 3»);
// Преобразуем строку в число в явном виде
userData = Integer.parseInt (userInput);
if ((userData> =1) & (userData <=3)) {
JOptionPane.showMessageDialog (null, «Вы ввели число " + userData);
}
else {
JOptionPane.showMessageDialog (null, «Вы ввели недопустимое число!»);
}
}
}
Отредактированная часть программы выделена жирным шрифтом. Как видите, получилась более компактная и универсальная конструкция. В условном операторе if использовано составное условие
(userData> =1) & (userData <=3)
Оно означает, что условие будет истинным, если значение переменной userData больше или равно единице И меньше или равно трем. В этом случае выводится диалоговое окно с сообщением об ошибке.