如何从Java类中的另一个方法调用我的方法?

如何从Java类中的另一个方法调用我的方法?,java,class,methods,Java,Class,Methods,我正在构建一个从文本文件计算学生成绩的类。所使用的方法和字段必须完全按照其编写的方式命名,因为这是一个学校项目,如果没有完全按照老师的要求编写,我的老师会扣分。无论如何,根据她的标准,她希望我创建一个方法来计算数组的平均值,然后在另一个方法中检索该平均值(就个人而言似乎有些多余,但正如我所说,这是她想要的)。我已经构造了这个方法,并在我的getAverage(int studentNum)方法中引用了它,但是编译它时它给了我一个“.class missing”的错误。老实说,我不知道为什么。ec

我正在构建一个从文本文件计算学生成绩的类。所使用的方法和字段必须完全按照其编写的方式命名,因为这是一个学校项目,如果没有完全按照老师的要求编写,我的老师会扣分。无论如何,根据她的标准,她希望我创建一个方法来计算数组的平均值,然后在另一个方法中检索该平均值(就个人而言似乎有些多余,但正如我所说,这是她想要的)。我已经构造了这个方法,并在我的
getAverage(int studentNum)
方法中引用了它,但是编译它时它给了我一个“.class missing”的错误。老实说,我不知道为什么。eclipse提供的解决方案不是我想要做的,因为它们建议我更改方法的参数,或者创建一个全新的方法,这两个都不是我的老师想要的。以下是我的工作内容:

public class GradeBook
{
    private final int NUM_STUDENT = 5;
    private final int NUM_TESTS = 4;
    private String[] names = new String[5];
    private char[] grades = new char[5];
    private double[] scores1 = new double[4];
    private double[] scores2 = new double[4];
    private double[] scores3 = new double[4];
    private double[] scores4 = new double[4];
    private double[] scores5 = new double[4];

    public void setName(int studentNum, String name)
    {
        names[studentNum - 1] = name;
    }

    public void setScores(int studentNum, double[] scores)
    {
        if (studentNum == 1)
        {
            copyArray(scores1, scores);
        }

        else if (studentNum == 2)
        {
            copyArray(scores2, scores);
        }

        else if (studentNum == 3)
        {
            copyArray(scores3, scores);
        }

        else if (studentNum == 4)
        {
            copyArray(scores4, scores);
        }

        else
        {
            copyArray(scores5, scores);
        }
    }

    public String getName(int studentNum)
    {
        return names[studentNum - 1];
    }

    public double getAverage(int studentNum)
    {
        double average;

        if (studentNum == 1)
        {
            average = calcAverage(scores1[]);

            return average;
        }

        else if (studentNum == 2)
        {
            return calcAverage(scores2[]);
        }

        else if (studentNum == 3)
        {
            return calcAverage(scores3[]);
        }

        else if (studentNum == 4)
        {
            return calcAverage(scores4[]);
        }

        else
        {
            return calcAverage(scores5[]);
        }
    }

    public char getLetterGrade(int studentNum)
    {
        return grades[studentNum - 1];
    }

    public void copyArray(double[] to, double[] from)
    {
        for (int i = 0 ; i < from.length ; i++)
        {
            from[i] = to[i];
        }
    }

    public double calcAverage(double[] scores)
    {
        double sum = 0;
        double average;

        for (int i = 0 ; i < scores.length ; i++)
            {
                sum = sum + scores[i];
            }

        average = sum / scores.length;

        return average;
    }

    public void assignGrade(int studentNum)
    {
            grades[studentNum - 1] = determineGrade(getAverage(studentNum));
    }

    public char determineGrade(double average)
    {
        if (average <= 100 && average >= 90)
        {
            return 'A';
        }

        else if (average <= 89 && average >= 80)
        {
            return 'B';
        }

        else if (average <= 79 && average >= 70)
        {
            return 'C';
        }

        else if (average <= 69 && average >= 60)
        {
            return 'D';
        }

        else 
        {
            return 'F';
        }
    }
} 
公共班级成绩册
{
私人期末学生人数=5;
私人最终int NUM_测试=4;
私有字符串[]名称=新字符串[5];
私有字符[]等级=新字符[5];
私人双人[]得分1=新双人[4];
私人双人[]得分2=新双人[4];
私人双人[]得分3=新双人[4];
私人双人[]得分4=新双人[4];
私人双人[]得分5=新双人[4];
public void setName(int studentNum,字符串名)
{
姓名[studentNum-1]=姓名;
}
公开考试分数(int studentNum,双[]分)
{
如果(studentNum==1)
{
copyArray(分数1,分数);
}
else if(studentNum==2)
{
copyArray(分数2,分数);
}
else if(studentNum==3)
{
copyArray(分数3,分数);
}
else if(studentNum==4)
{
copyArray(分数4,分数);
}
其他的
{
copyArray(分数5,分数);
}
}
公共字符串getName(int studentNum)
{
返回名称[studentNum-1];
}
公共双平均值(int studentNum)
{
双倍平均;
如果(studentNum==1)
{
平均值=平均值(分数1[]);
收益率平均值;
}
else if(studentNum==2)
{
返回平均值(得分2[]);
}
else if(studentNum==3)
{
返回平均值(得分3[]);
}
else if(studentNum==4)
{
返回平均值(分数4[]);
}
其他的
{
返回平均值(得分5[]);
}
}
公共字符getLetterGrade(int studentNum)
{
返回成绩[studentNum-1];
}
public void copyArray(双[]到,双[]从)
{
for(int i=0;i

我确信我错过了一些非常容易的东西,但我就是看不到。你们怎么看?

在方法参数中删除[]:

 average = calcAverage(scores1[]);
应该是

 average = calcAverage(scores1);

在方法参数中删除[]:

 average = calcAverage(scores1[]);
应该是

 average = calcAverage(scores1);

就在我发布这篇文章的时候,我像个傻瓜一样意识到我在数组名旁边放了[]。相信我,编程就是这样工作的。你永远盯着某个东西看,然后其他人走过来,几秒钟后就看到了问题,或者你走开了,当你回到问题上时,你马上就看到了问题所在。是的。你只有在发布错误后才会看到它,以前从来没有。就在我发布这篇文章的时候,我像个傻瓜一样意识到我在数组名旁边放了[]。相信我,编程就是这样工作的。你永远盯着某个东西看,然后其他人走过来,几秒钟后就看到了问题,或者你走开了,当你回到问题上时,你马上就看到了问题所在。是的。你只有在发布错误后才能看到它,以前从来没有。