使用if语句重新提示用户输入数据

时间:2012-01-22 23:51:19

标签: java validation if-statement joptionpane

我正在尝试在此代码中提示输入名字/姓氏,但如果他们忘记填写该字段,我无法弄清楚如何重新提示用户输入该名称。现在,如果我的代码没有得到任何输入并且用户点击向前,我就会弹出一个消息框,然后程序将关闭。我希望能够重新提示完全相同的步骤,而不会让一切都无序。

这是我到目前为止所做的:

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 :(得分:0)

您可以使用while语句连续询问用户输入,直到输入有效。

例如:

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

答案 1 :(得分:0)

在必要时使用while循环,直到获得所需的输入。

这是一个片段。

String firstname = JOptionPane.showInputDialog(null, "Name?");
while(firstname.equals("")) {
    firstname = JOptionPane.showInputDialog(null, "You need to enter a first name!);
}

答案 2 :(得分:0)

您可以这样做:

do {
    firstName = JOptionPane.showInputDialog(null, "Please enter employee's first name");
} while (firstName != null && firstName.equals(""));
if (firstName == null) {
    // user canceled
}