感谢您抽出宝贵时间帮助我。我有3个与彼此互动的课程:Score,Golfer和GolferTester。高尔夫球手包含一系列Score对象。我的问题是在运行GolferTester时通过Golfer.addScore(String,int,double,int,String)向数组中添加单个Score对象。我已经尝试多次重新排列Golfer.addScore()并且在执行Golfer.findScore(String)时仍然收到NullPointerException。
我认为这里最重要的一点就是一切都运行顺畅,只要我不要过早地结束返回的Golfer.addScore()for循环。但是不停止循环使用nextScore填充整个数组,并呈现我的方法以找到要填充的数组槽(通过定位空槽),在一次调用后无效。我将在下面显示代码。谢谢你的帮助!
Golfer.addscore(String newCourse,int newScore,double newCourseRating,int newSlope,String newDate):
public void addScore(String newCourse, int newScore,
double newCourseRating, int newSlope, String newDate)
{
Score nextScore = new Score(newCourse, newDate, newScore,
newCourseRating, newSlope);
for (int i = 0; i < scores.length; i++)
{
if (scores[i] == null)
{
scores[i] = nextScore;
return;
}
}
}
Golfer.findScore(字符串日期):
private int findScore(String date)
{
int ans = 0;
for (int i = 0; i < scores.length; i++)
{
String iDate = scores[i].getDate();
if (iDate.equals(date))
ans = i;
}
if (ans == 0)
return -1;
else
return ans;
}
Golfer.getScore(String date):
public Score getScore(String date)
{
int a = findScore(date);
return scores[a];
}
类GolferTester:
public class GolferTester
{
public static void main (String[] args)
{
Golfer golfer1 = new Golfer("John", "homecourse", 4);
golfer1.addScore("course1", 75, 68.5, 105, "05/03/2017");
System.out.println(golfer1.getScore("05/03/2017"));
}
}
如上所述,只需从Golfer.addScore()中的for循环中删除返回方面,即可使一切正常运行。我尝试过不使用&#34;返回&#34;具体而言,但无济于事。再次感谢您的任何意见。