java - 将用户的字符串输入与字符串数组进行比较

标签 java arrays string methods

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

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

最佳答案

要比较字符串,应使用 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");
}

关于java - 将用户的字符串输入与字符串数组进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22673684/

相关文章:

java - 具有内在秩序意味着什么?

arrays - 无法为 '[Post]' 类型的值添加下标

php - 如何在 PHP 中从字符串数组创建对象

php - 操作和确认 - 不同的页面,如何传递文本?

javascript - 在 jquery 中查找和替换字符串

java - Camel : getting EndpointUri of a nested route

java - 在 JFormattedTextField 中输入日期后,自定义掩码消失

c++ - 如何将文件中的长字符串读入数组或类似的东西?

java - 在 eclipse RCP 中显示 View 时如何显示上下文帮助

python - 如何创建具有不同列数据类型的 numpy 矩阵?