Java 为什么我的else语句会留下错误?

Java 为什么我的else语句会留下错误?,java,Java,嗨,我是java的初学者,我只想知道为什么我会收到一条没有if的else'else的错误消息 public class Exercise6 { public static void main(String[] args) { String user = Input.askString("Username:"); String pass = Input.askString("Password:"); if (user.equals("joe") || pass.eq

嗨,我是java的初学者,我只想知道为什么我会收到一条没有if的else'else的错误消息

public class Exercise6 {
    public static void main(String[] args) {
    String user = Input.askString("Username:");
    String pass = Input.askString("Password:");
    if (user.equals("joe") || pass.equals("guess"));
    {
        System.out.println("Welcome, joe!");
        } 
            else
        {
            System.out.println("Incorrect username or password.");    


    }
}
}

查看代码后,问题是或分号;在If语句之后。在那个里,若语句将在那个里结束,那个么其他语句将被忽略。所以正确的一点是:

public class Exercise6 {
    public static void main(String[] args) {
    String user = Input.askString("Username:");
    String pass = Input.askString("Password:");
    if (user.equals("joe") || pass.equals("guess"))
    {
        System.out.println("Welcome, joe!");
        } 
        else
        {
            System.out.println("Incorrect username or password.");    
        }
    }
}
你也可以这样做

public class Exercise6 {
    public static void main(String[] args) {
    String user = Input.askString("Username:");
    String pass = Input.askString("Password:");
    if (user.equals("joe") || pass.equals("guess"))
        System.out.println("Welcome, joe!");
     else
        System.out.println("Incorrect username or password.");    
    }
}
这是因为如果if或else部分中只有一条语句,则不需要大括号。。我希望你已经知道了。

好像你在检查用户名和密码。您的或条件也错误。请参阅我的代码中的更改。需要将| |替换为&&

并从if条件中删除分号

 public class Exercise6 {
        public static void main(String[] args) {
        String user = Input.askString("Username:");
        String pass = Input.askString("Password:");
        if (user.equals("joe") && pass.equals("guess"))
        {
            System.out.println("Welcome, joe!");
            } 
                else
            {
                System.out.println("Incorrect username or password.");    
        }
    }
    }

在if语句的末尾有一个分号。噢,哇,谢谢你,不客气!我相信,您使用的是IDE,这似乎是一个编译错误,可能是在IDE中发现的