Java - Ошибка идентификатора при объявлении функции в классе - PullRequest
1 голос
/ 17 марта 2020

Я использую интерфейс Comparable для реализации двух разных классов. Для каждого класса я реализую методы и определение CompareTo.

Для класса GPA, как только я объявляю метод для вычисления средних значений, я получаю ошибку, "ожидаемый идентификатор" для среднего значения метода. Код для GPA:

public static class GPA implements Comparable<GPA>
    {
        String letter;
        double grade;

        public GPA(String letter,double grade)
        {
            this.letter = letter;
            this.grade = grade;
        }

        @Override public int compareTo(GPA that)
        {
            if(this.grade-that.grade>0) return +1;
            if(this.grade-that.grade>0) return -1;
            return 0;
        }

        public static double mean(GPA[] class)
        {
            double size = class.length+1;
            double total = 0;
            for(GPA gpa : class)
            {
                total+=class.length;
            }
            return total/size;
        }
    }

При попытке использовать ту же концепцию в классе Data, он работал отлично.

public static class Data implements Comparable<Data>
    {   
        String date;            // data members
        int amount;

        public Data(String date, String amount)     // constructor
        {
            this.date=date;
            this.amount=Integer.parseInt(amount);
        }

        @Override public int compareTo(Data that)      // overrides the compareTo function to compare each objects amounts
        {
            if(this.amount-that.amount>0) return +1;
            if(this.amount-that.amount<0) return -1;
            return 0;
        }

        public static void print(Data[] data)           // prints data
        {
            int count = 0;
            for (Data d : data) 
            {
                System.out.print(d.date + "\t|\t" + d.amount);
                count++;
            }
        }

    }

Мой вопрос: почему данные запускаются, а GPA возвращает компиляцию ошибка? Оба метода принимают массив своих собственных объектов. Спасибо всем, кто нашел время, чтобы помочь.

...