Java 为什么我的else语句会留下错误?
嗨,我是java的初学者,我只想知道为什么我会收到一条没有if的else'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
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中发现的