Повторный запрос пользователя на ввод данных с помощью оператора if - PullRequest
0 голосов
/ 23 января 2012

Я пытаюсь запросить имя / фамилию в этом коде, но не могу понять, как повторно запросить у пользователя имя, если они забыли заполнить поле.Прямо сейчас, если мой код не получает никакого ввода, и пользователь щелкает дальше, у меня есть это, таким образом, появляется окно сообщения, и затем программа закрывается.Я хочу иметь возможность просто повторить запрос для того же шага, чтобы он не вышел из строя.

Это то, что у меня есть:

public void getValues(){
    firstName = JOptionPane.showInputDialog(null, "Please enter employee's first name");

    if (firstName.equals("")){

        JOptionPane.showMessageDialog(null,"Please enter a first name, next time.");
        System.exit(-1);
    } else {

    lastName = JOptionPane.showInputDialog(null, "Please enter employee's last name");

    if (lastName.equals("")){

        JOptionPane.showMessageDialog(null,"Please enter a last name, next time.");
        System.exit(-1);
    } else {

Спасибо.

Ответы [ 3 ]

0 голосов
/ 23 января 2012

При необходимости используйте цикл while, пока не получите нужный ввод.

Вот фрагмент кода.

String firstname = JOptionPane.showInputDialog(null, "Name?");
while(firstname.equals("")) {
    firstname = JOptionPane.showInputDialog(null, "You need to enter a first name!);
}
0 голосов
/ 23 января 2012

Вы можете сделать что-то вроде этого:

do {
    firstName = JOptionPane.showInputDialog(null, "Please enter employee's first name");
} while (firstName != null && firstName.equals(""));
if (firstName == null) {
    // user canceled
}
0 голосов
/ 23 января 2012

Вы можете использовать оператор while, чтобы непрерывно запрашивать ввод у пользователя, пока ввод не будет действительным.

Ex:

while((firstName = JOptionPane.showInputDialog(null, "Your Message")).equals("")){
    JOptionPane.showMessageDialog(null, "That name isn't valid!");
}
...