我知道这是非常小和愚蠢的事情,但我不知道为什么这不起作用。基本上只有两个员工姓名可以用来登录。这两个名称存储在一个数组中。一旦用户输入的名称不是两个正确名称之一,程序就会不断询问用户名。
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");
}
关于java - 将用户的字符串输入与字符串数组进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22673684/