else if 语句不起作用
else if statement not working
我是 Java 的新手,真的很自学。我正在练习 else 和 if 语句。我已经编写了下面用于评分的非常基本的程序,但我无法让所有其他 if 语句正常工作,它调用前两个,我可以让它显示 A 和 B 等级,但不能显示其余的,我有尝试移动和移除波浪形括号等,但仍然无法正常工作。
请帮助并原谅我的无知,因为我是 Java 编程的新手。
提前致谢。
public class Grade {
public static void main(String[] arguments) {
int grade = 69;
if (grade > 90) {
System.out.println("Well done you got a A");
} else if (grade < 90) {
System.out.println("Well done you got a B");
} else if (grade < 85) {
System.out.println("You got a C");
} else if (grade < 75) {
System.out.println("You got a D");
} else if (grade < 75) {
System.out.println("You got a E");
} else {
System.out.println("You got a F");
}
}
}
比较符号有误。总会落入第一个或第二个if。您必须始终测试更高,而不是更低
如果 69 if (grade < 90)
为真,则不会执行下面的其他 if
改为
if (grade >= 90) {
System.out.println("Well done you got a A");
} else if (grade >= 85) {
System.out.println("Well done you got a B");
} else if (grade >= 75) {
System.out.println("You got a C");
} else {
System.out.println("You got a D");
}
并且要添加更多的成绩,请在上面添加更多的 else if(){}
还要记住将 else{}
条件放在最后,这样如果没有选项为真,则将执行 else。
同时勾选 Java Docs
将您的代码更改为:
public class Grade {
public static void main(String[] arguments) {
int grade = 69;
if (grade >= 90) {
System.out.println("Well done you got a A");
} else if (grade >= 85) {
System.out.println("Well done you got a B");
} else if (grade >= 75) {
System.out.println("You got a C");
} else if (grade >= 65) {
System.out.println("You got a D");
} else if (grade >= 55) {
System.out.println("You got a E");
} else {
System.out.println("You got a F");
}
}
}
因为 69 小于 90,所以第二个 if 将为真,虽然他应该有 D,但这个人会得到 B。如果第一个 if 失败(这意味着成绩低于 90,那么你检查是否成绩大于或等于 85(然后获得 B),否则检查它是否大于或等于 75 等等
如果你输入0作为标记,它会满足第一个else if条件,即0 < 90,从那里它就不会费心检查其他else if语句。
试试先从低分开始写,还是这样写才行:
if (grade>85 && grade<90)
System.out.Print("Grade here");
我是 Java 的新手,真的很自学。我正在练习 else 和 if 语句。我已经编写了下面用于评分的非常基本的程序,但我无法让所有其他 if 语句正常工作,它调用前两个,我可以让它显示 A 和 B 等级,但不能显示其余的,我有尝试移动和移除波浪形括号等,但仍然无法正常工作。 请帮助并原谅我的无知,因为我是 Java 编程的新手。
提前致谢。
public class Grade {
public static void main(String[] arguments) {
int grade = 69;
if (grade > 90) {
System.out.println("Well done you got a A");
} else if (grade < 90) {
System.out.println("Well done you got a B");
} else if (grade < 85) {
System.out.println("You got a C");
} else if (grade < 75) {
System.out.println("You got a D");
} else if (grade < 75) {
System.out.println("You got a E");
} else {
System.out.println("You got a F");
}
}
}
比较符号有误。总会落入第一个或第二个if。您必须始终测试更高,而不是更低
如果 69 if (grade < 90)
为真,则不会执行下面的其他 if
改为
if (grade >= 90) {
System.out.println("Well done you got a A");
} else if (grade >= 85) {
System.out.println("Well done you got a B");
} else if (grade >= 75) {
System.out.println("You got a C");
} else {
System.out.println("You got a D");
}
并且要添加更多的成绩,请在上面添加更多的 else if(){}
还要记住将 else{}
条件放在最后,这样如果没有选项为真,则将执行 else。
同时勾选 Java Docs
将您的代码更改为:
public class Grade {
public static void main(String[] arguments) {
int grade = 69;
if (grade >= 90) {
System.out.println("Well done you got a A");
} else if (grade >= 85) {
System.out.println("Well done you got a B");
} else if (grade >= 75) {
System.out.println("You got a C");
} else if (grade >= 65) {
System.out.println("You got a D");
} else if (grade >= 55) {
System.out.println("You got a E");
} else {
System.out.println("You got a F");
}
}
}
因为 69 小于 90,所以第二个 if 将为真,虽然他应该有 D,但这个人会得到 B。如果第一个 if 失败(这意味着成绩低于 90,那么你检查是否成绩大于或等于 85(然后获得 B),否则检查它是否大于或等于 75 等等
如果你输入0作为标记,它会满足第一个else if条件,即0 < 90,从那里它就不会费心检查其他else if语句。 试试先从低分开始写,还是这样写才行:
if (grade>85 && grade<90)
System.out.Print("Grade here");