对于以下代码,我一直在收到没有'if'错误的'else',我不知道为什么。我已经使用了大括号和所有东西,所以我真的很困惑。
if(mean >= 90 && mean <= 100){
grade = 'O';}
else{
if(mean >= 80 && mean < 90)
grade = 'E';}
else{
if(mean >= 70 && mean < 80)
grade = 'A';}
else{
if(mean >= 55 && mean < 70)
grade = 'P';}
else{
if(mean >= 40 && mean < 55)
grade = 'D';}
else{
if(mean < 40)
grade = 'T';}
答案 0 :(得分:2)
我认为你没有在java中使用if-else语句的正确结构。应该是这样的:
if (testscore >= 90) {
grade = 'A';
} else if (testscore >= 80) {
grade = 'B';
} else if (testscore >= 70) {
grade = 'C';
} else if (testscore >= 60) {
grade = 'D';
} else {
grade = 'F';
}
您可以查看此链接以获取更多信息:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/if.html
答案 1 :(得分:1)
你的花括号在错误的地方。格式化代码将使其更易读,更容易找到语法错误。
if (mean >= 90 && mean <= 100) {
grade = 'O';
} else if (mean >= 80 && mean < 90) {
grade = 'E';
} else if (mean >= 70 && mean < 80) {
grade = 'A';
}
//.... the rest of your statement
答案 2 :(得分:1)
您误解了if / else语句。如果你想比较其他条件那么你应该使用&#34;否则如果&#34;如下所示。
if(mean >= 90 && mean <= 100){
grade = 'O';
} else if (mean >= 80 && mean < 90) {
grade = 'E';
} else if(mean >= 70 && mean < 80) {
grade = 'A';
} else if(mean >= 55 && mean < 70){
grade = 'P';
} else if(mean >= 40 && mean < 55){
grade = 'D';
} else if(mean < 40) {
grade = 'T';
}
答案 3 :(得分:1)
有两种方法可以编写if语句,在这种情况下,您将两者混合在一起。
你可以使用其他一个if,如下:
if(x == 1) {
System.out.println("one");
} else {
System.out.println("two");
}
如果有多个else-if语句,你可以使用一个:
if(x == 1) {
System.out.println("one");
} else if(x == 2) {
System.out.println("two");
} else if(x == 3) {
System.out.println("three");
}
答案 4 :(得分:0)
每else
只能使用if
一次。对于您的这个问题,请尝试else if
。
答案 5 :(得分:0)
你的花括号太早了,它们应该是这样的:
if(mean >= 90 && mean <= 100){
grade = 'O';
} else if(mean >= 80 && mean < 90){
grade = 'E';
} else if(mean >= 70 && mean < 80){
grade = 'A';
} else if(mean >= 55 && mean < 70){
grade = 'P';
} else if(mean >= 40 && mean < 55){
grade = 'D';
} else if(mean < 40){
grade = 'T';
}