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

Java 使用if语句重新提示用户输入数据,java,validation,if-statement,joptionpane,Java,Validation,If Statement,Joptionpane,我试图在这段代码中提示输入名字/姓氏,但如果用户忘记填写该字段,我想不出如何重新提示他们输入名字。现在,如果我的代码没有得到任何输入,并且用户单击“继续”,那么我会弹出一个消息框,然后程序将关闭。我希望能够重新提示执行完全相同的步骤,而不会使其全部出错 这就是我到目前为止所做的: public void getValues(){ firstName = JOptionPane.showInputDialog(null, "Please enter employee's first nam

我试图在这段代码中提示输入名字/姓氏,但如果用户忘记填写该字段,我想不出如何重新提示他们输入名字。现在,如果我的代码没有得到任何输入,并且用户单击“继续”,那么我会弹出一个消息框,然后程序将关闭。我希望能够重新提示执行完全相同的步骤,而不会使其全部出错

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

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 {

谢谢。

您可以使用
while
语句持续请求用户输入,直到输入有效

例:


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

这里有一个片段

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

您可以这样做:

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