我有这个代码用于作业。当我编译它时,我得到了
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';
}
}
答案 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';
}