2016-12-27 43 views
0

我正在编写一个提示用户输入密码的小程序,如果用户输入了不正确的密码,那么程序会一直提示用户输入密码。一旦用户输入正确的密码,程序就会退出。我创建了一个do-while循环来保持循环,直到输入正确的密码,但是当输入正确的密码时,程序继续循环并且不会退出。该变量值似乎没有达到程序的while子句。有人可以告诉我我要去哪里吗?我的代码如下:Do-While循环没有收到变量值

import java.util.*; 
    import javax.swing.*; 

    public class do_whilePassword 
    { 

public static void main (String [] args) 
{ 
    String choice = ""; 

    do 
     { 
      choice = JOptionPane.showInputDialog("Please enter in a password"); 

     }while(choice != "John"); 

} 
} 
+0

'而(choice.equals( “约翰”))' – ParkerHalo

回答

0

只是它与使用.equal比较Java字符串不=

do 
{ 
    ... 

}while(! choice.equals("John")); 
+0

但事实是,使用String.equals将使它保持循环。我只希望它在密码不等于John时循环,以便当密码等于John时循环结束。我也注意到,while循环的一部分没有得到选择变量的值,它变成空白,我认为这就是为什么它不起作用。 – user3468512