JAVA Else没有if?

时间:2012-11-02 20:13:48

标签: java

我有这个代码用于作业。当我编译它时,我得到了

grades.java:18: error: 'else' without 'if'
    else
    ^
1 error

以下是代码:

public class grades
{
    public static void main (String [] args)
    {
        int gradeone=75;
        int gradetwo=80;
        int testscore= ((gradeone + gradetwo)/2);
        char grade;
        System.out.println("\n" + "your test score is" + testscore);
        if(testscore >= 90 )
      grade='A';
    elseif(testscore >= 80 );
      grade='B';
    elseif(testscore >= 70 );
      grade='C';
    elseif(testscore >= 65 );
      grade='D';
    else
      grade='F';
    }
}

5 个答案:

答案 0 :(得分:4)

正如其他人已经提到的那样,语法是 否则,如果 - 请注意空格。

此外,我强烈建议坚持传统的编码风格,直到你对自己的技能更有信心。

A)现在,在使用块和语句时使用大括号语法。您的代码将更具可读性,您将能够更轻松地识别语法错误。虽然从技术上讲不是必需的,但是在没有大括号的情况下,您将面临尝试确定局部变量和方法范围的挑战。

    public static void main( String[] args ) {
    int gradeOne = 75, gradeTwo = 80, testScore = ( ( gradeOne + gradeTwo ) / 2 );
    char grade;

    if( testScore >= 90 ) {
        grade = 'A';
    } else if( testScore >= 80 ) {
        grade = 'B';
    } else if( testScore >= 70 ) {
        grade = 'C';
    } else if( testScore >= 65 ) {
        grade = 'D';
    } else {
        grade = 'F';
    }
    System.out.println( "\n" + "your test score is: " + testScore );
}

B)如果您对语法不确定,请参阅JLS以获取答案......

答案 1 :(得分:2)

<{> else if {}} {}} {}} {}} {{{{{{{{{{{{{{{{{

答案 2 :(得分:1)

else if之后删除分号。 这种错误是由于空语句而发生的,如果条件满足则会执行分号,然后执行其他代码(grade = 'B';)w / o任何评估,这将将if

else分开

答案 3 :(得分:1)

Java没有运算符elseif。你必须写else if。因此,java编译器与您的代码混淆,无法找到if的相关else

答案 4 :(得分:0)

将“else if”替换为elseif并删除if表达式后面的逗号。然后你的代码变得如下所示完全运行:)

public class check {
    public static void main (String [] 
        int gradeone=75;
        int gradetwo=80;
        int testscore= ((gradeone + gradetwo)/2);
        char grade;
        System.out.println("\n" + "your test score is" + testscore);
        if(testscore >= 90 )
            grade='A';
        else if(testscore >= 80 )
            grade='B';
        else if(testscore >= 70 )
            grade='C';
        else if(testscore >= 65 )
            grade='D';
        else
            grade='F';    
}