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
}