无法在java中初始化字符串上的变量

时间:2015-10-08 23:24:02

标签: java eclipse

在你跳我之前说这已经回答了,是的我知道它的答案但是所有的问题都有所不同,在回答的问题上他们使用的代码我仍然不知道因此我不知道我做错了什么。无论如何进入我的错误我得到一个错误说无法初始化变量String admin2,基本上我试图制作一个密码程序,我确切地知道我需要改变但我不知道知道我必须做什么才能使它发挥作用。这是错误:

public static void main (String[] args){

     Scanner input = new Scanner(System.in);

    bacon baconObject = new bacon();

     int password;

     String admin;

     String temp; 

    System.out.println("What is your username");
      temp = input.nextLine();

    System.out.println("What is your password ");
    password = input.nextInt();

    temp = admin;

    if(temp == admin2 && password == 123){

        System.out.println("Correct signing in......");

    }else{

        System.out.println("Incorrect!");
    }


     }
 }

1 个答案:

答案 0 :(得分:1)

如果您想检查temp变量引用的文字是否为"admin2",那么您应该if (temp.equals("admin2"))而不是if (temp == admin2)

原因是在第二个示例(和您的版本)中,它将"admin2"作为变量引用,但您希望将其用作String,这是通过放置来实现的引用它。

您使用.equals而不是==的原因是因为==比较了引用变量的实际对象,而.equals则比较了Convert.ToDateTime的内容变量引用的对象。