嗨,我是Java的初学者,我想知道为什么我收到其他错误消息(“ else without'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.");
}
}
}
答案 0 :(得分:1)
查看代码后,If语句后为is或分号(;)。在那种情况下,如果语句将在那里结束,则其他将被单独忽略。所以正确的是在这里:
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 or else部分中只有一个语句,那么就不需要大括号了。。我希望您有主意。
答案 1 :(得分:0)
类似于您尝试检查用户名和密码。您的OR条件也有误。请参阅我的代码中的更改。 需要替换||到&&
然后从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.");
}
}
}