2012-01-22 41 views
0

我試圖在代碼中提示輸入姓氏或姓氏,但我無法弄清楚如果用戶忘記填寫該字段。現在,如果我的代碼沒有得到任何輸入並且用戶點擊了,我就會彈出消息框,然後程序關閉。我希望能夠重新提示完全相同的步驟,而不會導致所有的錯誤。使用if語句重新提示用戶輸入數據

這是我到目前爲止有:

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 { 

謝謝。

回答

0

使用while循環在必要時,直到你得到你想要的輸入。

這是一段代碼。

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

RAD,這並獲得成功。 謝謝! –

0

您可以使用while語句不斷要求用戶輸入,直到輸入有效。

例:

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

你可以做這樣的事情:

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