else上的语法错误,删除此令牌错误

时间:2014-11-08 00:30:12

标签: java if-statement syntax-error

我的if,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!");}
            }
        }
    }
}

2 个答案:

答案 0 :(得分:4)

if语句后应该没有分号。

if语句应如下:

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

答案 1 :(得分:0)

首先,我将摆脱你正在使用的所有{ }。这太过分了。虽然使用它们来声明本地命名空间是正确的,但绝对有必要将它们与if-else语句一起使用。但如果您不完全确定自己在做什么,最好不要使用本地命名空间

第二件事是你的if语句之后有一个;。这将被解释为; = empty statement。因此,您的跟进else完全独立 - 这就是您的IDE要求您删除else的原因。

以下是您的代码的一个版本,有点清理:)

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!");
        }
    }
}