'else'尽管使用大括号

时间:2017-08-14 18:35:59

标签: java if-statement

对于以下代码,我一直在收到没有'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';}

6 个答案:

答案 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';
    }