我正在创建一个java程序,它接受用户名并在数组中搜索匹配的用户名。但是,即使输入匹配我放入数组的唯一用户名,它仍然无法成功地比较它们,说这两个变量不匹配。这是代码:
import java.util.*;
import java.lang.*;
import java.io.*;
class text
{
public static void main (String[] args) throws java.lang.Exception
{
Scanner user_input = new Scanner( System.in );
String text;
System.out.println("Enter Username");
text = user_input.next( );
String[] usernames={"Mikey"};
String username="";
boolean usernamecorrect=false;
for(int i=0;i<usernames.length;i++){
if(usernames[i]==text){
//With an input of Mikey, this code should run, but doesn't
System.out.println("Username correct\n");
usernamecorrect=true;
username=text;
break;
}
}
System.out.println(username);
}
}
答案 0 :(得分:1)
尝试使用
usernames[i].equals(text)
而不是
usernames[i]==text
==
仅匹配参考文献
.equals
匹配实际内容