Java程序不接受if语句中系统输入变量的比较

时间:2015-08-29 17:49:48

标签: java java.util.scanner

我正在创建一个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);
    }
}

1 个答案:

答案 0 :(得分:1)

尝试使用

usernames[i].equals(text)

而不是

usernames[i]==text

==仅匹配参考文献

.equals匹配实际内容