java - 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;
}
}
解决方案
删除此声明
testScores = new TestScore(testScore1, testScore2, testScore3);
以及您曾经在哪里使用过
testScores.foo
在您的程序中,将其替换为
this.foo
推荐阅读
- python - 如果日期间隔大于 N 秒,则使用最后一个值填充列表
- algorithm - 用整数项计算矩阵幂
- node.js - 基于允许和不能导入哪些模块的 TypeScript lint 文件和文件夹
- c# - 如何从同一 Azure AD 中的另一个 Web 应用程序访问 Web api?
- python - 使用切片和列表索引数据框
- c - 在 Ubuntu 18.04.1 上与 gcc-6 的覆盖兼容性?
- r - r 使用随机换行符格式化 csv 并导出
- node.js - 不从身份验证代码返回刷新令牌
- jquery - 通过 jQuery 重新加载脚本
- html - 如何强制固定导航栏具有页面的全宽而不是视口?