Java else上出现语法错误,请删除此令牌错误

Java else上出现语法错误,请删除此令牌错误,java,if-statement,syntax-error,Java,If Statement,Syntax Error,我的if,else语句给了我一个错误,告诉我删除单词else。我该怎么办 import java.util.Scanner; public class Test5 { public static void main(String[] args) { double GradeAverage; { System.out.print("Welcome! Please enter in your mid-year grade aver

我的if,else语句给了我一个错误,告诉我删除单词else。我该怎么办

import java.util.Scanner;

public class Test5 {

    public static void main(String[] args) {

        double GradeAverage;
        {
            System.out.print("Welcome! Please enter in your mid-year grade average.");
        }
        Scanner kbdln = new Scanner(System.in);

        {
            GradeAverage = kbdln.nextDouble();
            {
                if (GradeAverage > 60 && GradeAverage <= 100);
                {
                    System.out.print("You're passing your class!");
                }
                else if (GradeAverage > 0 && GradeAverage <= 60)
          {System.out.print("Hook up with a smart classmate and STUDY!");}
            }
        }
    }
}

if语句后不应有分号

if声明应如下所示:

if(GradeAverage > 60 && GradeAverage <= 100)

首先,我会把你正在使用的{}都去掉。这太过分了。尽管使用它们来声明本地名称空间是正确的,并且在if-else语句中使用它们是绝对必要的。但是,如果您不能完全确定自己在做什么,最好不要使用本地名称空间

第二件事是你有一个;在你的if声明之后。这将被解释为;=空话。因此,后续的else是完全独立的,这就是IDE告诉您删除else的原因

下面是您的代码的一个稍微整理过的版本:


在if条件后丢失分号;它作为你的if语句的主体;做如果你把它放在if语句之后会发生什么?它只会结束if条件。启用它可能是一个好主意。谢谢,这很有效!谢谢你的帮助
public class Test5 {

    public static void main(String[] args) {

        double GradeAverage;
        System.out.print("Welcome! Please enter in your mid-year grade average.");
        Scanner kbdln = new Scanner(System.in);

        GradeAverage = kbdln.nextDouble();
        if (GradeAverage > 60 && GradeAverage <= 100) {
            System.out.print("You're passing your class!");
        } else if (GradeAverage > 0 && GradeAverage <= 60) {
            System.out.print("Hook up with a smart classmate and STUDY!");
        }
    }
}