Java==!=&&|操作人员

Java==!=&&|操作人员,java,Java,我的代码有问题。此代码应检查登录名和密码。问题是else-if语句显示了错误的输出。例如,当我输入username==admin和password==1234时,显示username不正确 import java.io.*; public class login { public static void main(String [] args) throws IOException { String username = "admin"; String password =

我的代码有问题。此代码应检查登录名和密码。问题是else-if语句显示了错误的输出。例如,当我输入username==admin和password==1234时,显示username不正确

import java.io.*;

public class login 
{
public static void main(String [] args) throws IOException
{
    String username = "admin"; 
    String password = "123";

    BufferedReader inData = new BufferedReader(new InputStreamReader(System.in));

    System.out.print("Enter username : ");
    username = inData.readLine();

    System.out.print("Enter password : ");
    password = inData.readLine();

    if((username == "admin") && (password == "123"))
    {
        System.out.println("Welcome " + username + "\n*** Login Sucessfully ***" + "\n*** Access Granted ***");
    }
    else if((username != "admin") && (password == "123"))
    {
        System.out.println("Sorry, username is incorrect!\n*** Access Denied ***");
    }
    else if((username == "admin") && (password != "123"))
    {
        System.out.println("Sorry, password is incorrect!\n*** Access Denied ***");
    }
    else if((username != "admin") && (password != "123"))
    {
        System.out.println("Sorry, username and password is incorrect!\n*** Access Denied ***");
    }
}
}

.equals()
方法用于比较本例中的字符串。
对于例如
username.equals(“admin”)
,它比较变量username的值与值“admin”,这两个都是字符串

在比较字符串时,您理解==和equals之间的区别,对吗?@Kero Kero==用于比较int或float值(数字),而.equals()方法用于比较字符串。@AndrewL。哦,以前从来都不知道。现在我明白了==和.equals之间的关系