Java 比较用户';将字符串输入到字符串数组

Java 比较用户';将字符串输入到字符串数组,java,arrays,string,methods,Java,Arrays,String,Methods,我知道这是一件非常小和愚蠢的事情,但我不知道为什么这不起作用。基本上只有两个员工的名字可以用来登录。这两个名称存储在一个数组中。一旦用户输入的名称不是两个正确名称中的一个,程序就会不断询问用户名 String [] userNames = {"Jack", "Jill"}; logIn(userNames); public static void logIn(String [] name) { String userName = ""; Scanner kb = new S

我知道这是一件非常小和愚蠢的事情,但我不知道为什么这不起作用。基本上只有两个员工的名字可以用来登录。这两个名称存储在一个数组中。一旦用户输入的名称不是两个正确名称中的一个,程序就会不断询问用户名

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");
}

要比较字符串,应使用
equals
compareTo

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");
}