首页 > 解决方案 > java类文件中的“此方法后预期的变量声明符”错误

问题描述

我正在寻求有关我在尝试创建此 java 类时遇到的错误的帮助。我想添加这个学生班级的考试成绩和平均成绩。我已经尝试了很多事情,但当我到达下面显示的 setTestScore 方法(用箭头显示)时,我似乎无法让错误“此方法后预期的变量声明器”消失,类似地在我的下一个 getTestScore 方法中我有一个错误“不能在原始类型 int 上调用 getTest()。” (也用箭头显示)

 public class Student {

private String firstName, lastName;
private Address homeAddress, schoolAddress;
private int TestScore, testScores ;
private int testScore1, testScore2, testScore3;;

public void TestScore(int testScore1, int testScore2, int testScore3)
{
    this.testScore1 = testScore1;
    this.testScore2 = testScore2;
    this.testScore3 = testScore3;   

}

public Student(String first, String last, Address home, Address school)
{
    this.firstName = first;
    this.lastName = last;
    this.homeAddress = home;
    this.schoolAddress = school;


}

testScores = new TestScore(testScore1, testScore2, testScore3);

public void setTestScore(int testNumber, int TestScore) {
    if(testNumber==1) {
        testScores.setTest1(>>testScore<<);
    }
    else if(testNumber==2) {
        testScores.setTest2(>>testScore<<);
    }
    else if(testNumber==3) {
        testScores.setTest3(>>testScore<<);
    }
}
public void setTest1(int test1) {
    this.testScore1 = test1;
}
public void setTest2(int test2) {
    this.testScore2 = test2;
}
public void setTest3(int test3) {
    this.testScore3 = test3;
}


public int getTestScore(int testNumber) {

    if(testNumber==1) {
        return >>testScores.getTest1<<();
    }
    else if(testNumber==2) {
        return >>testScores.getTest2<<();
    }
    else if(testNumber==3) {
        return >>testScores.getTest3<<();
    }
    else {
        return 0;
    }
}
public int getTest1() {
    return testScore1;
}
public int getTest2() {
    return testScore2;
}
public int getTest3() {
    return testScore3;
}   

public double getAverageTestScores() {
    double avg;

    avg=(testScores.getTest1() + testScores.getTest2() + testScores.getTest3())/3.0;

    return avg;
}

public String toString()
{
    String result;

    result = firstName + " " + lastName + "\n";
    result += "Home Address:\n" + homeAddress + "\n";
    result += "School Address:\n" + schoolAddress + "\n";
    result +="Test Score 1:\n" + testScores.getTest1() + "\n";
    result +="Test Score 2:\n" + testScores.getTest2() + "\n";
    result +="TestScore 3:\n" + testScores.getTest3() + "\n";
    result +="Average test score:\n" + getAverageTestScores() + "\n";
    return result;
    }
 }

标签: javaclassmethods

解决方案


删除此声明

testScores = new TestScore(testScore1, testScore2, testScore3);

以及您曾经在哪里使用过

testScores.foo

在您的程序中,将其替换为

this.foo 

推荐阅读