2014-03-26 273 views
0

我知道这是一个非常小而愚蠢的东西,但我不知道为什么这不起作用。基本上只有两个可用于登录的员工名字。这两个名字存储在一个数组中。一旦用户输入了一个名称并且它不是两个正确的名称之一,程序就会不断询问用户名。比较用户的字符串输入到字符串数组

String [] userNames = {"Jack", "Jill"}; 
logIn(userNames); 

public static void logIn(String [] name) 
{ 
    String userName = ""; 
    Scanner kb = new Scanner(System.in); 
    System.out.print("Enter Username: "); 
    userName = kb.nextLine(); 
    while (userName != name[0] || userName != name[1]) 
    { 
     System.out.print("Enter Username: "); 
     userName = kb.nextLine(); 
    } 
    System.out.println("Correct"); 
} 

回答

1

比较字符串,equalscompareTo应使用:

String [] userNames = {"Jack", "Jill"}; 
logIn(userNames); 

public static void logIn(String [] name) 
{ 
    String userName = ""; 
    Scanner kb = new Scanner(System.in); 
    System.out.print("Enter Username: "); 
    userName = kb.nextLine(); 
    //while (userName != name[0] || userName != name[1]) 
    while (!userName.equals(name[0]) && !userName.equals(name[1])) 
    { 
     System.out.print("Enter Username: "); 
     userName = kb.nextLine(); 
    } 
    System.out.println("Correct"); 
} 
+0

太感谢你了! :) – user3466181