我是Java初学者,这是我的第一篇文章。 我找不到任何完全像我的问题,虽然这个帖子看起来类似: Why is this print line command executing twice?for循环的最后一行执行两次?
但答案并没有帮助我解决它。
我知道这可能是一些愚蠢的事情,但希望你们中的一个人可能能够指出为什么名为“matches”的数组中的最后一个条目打印出两次。
在此先感谢, 罗伯特。
这里是我的代码:
public String buildMatchList(Match[] matches)
{
fixtures = "";
int i = 0;
for (i = 0; i < numMatches; i++)
{
if (matches[i] != null)
{
fixtures += String.format("\n%-10.10s %10.9s %15.14s", matches[i].getTeamA(), " Vs ", matches[i].getTeamB());
}
}
System.out.println(fixtures);
}
// -EDIT -
// numMatches set in this method
public void fillMatchArray(Team[] sortedTeams, int numTeams)
{
int homeTeam = 0;
int awayTeam = 0;
goalsA = 0;
goalsB = 0;
fixtures = "";
boolean played = false;
matches = new Match[MAX_NUM_GAMES];
for (homeTeam = 0; homeTeam < sortedTeams.length; homeTeam++)
for (awayTeam = homeTeam+1; awayTeam < sortedTeams.length; awayTeam++)
{
String teamA = sortedTeams[homeTeam].getTeamName();
String teamB = sortedTeams[awayTeam].getTeamName();
matchFixtures = new Match(teamA, teamB, goalsA, goalsB, played);
{
fixtures += String.format("\n%-10.10s %10.9s %15.14s",
matchFixtures.getTeamA(), " Vs ", matchFixtures.getTeamB());
}
int i = 0;
matches[i] = matchFixtures;
numMatches++;
buildMatchList(matches);
}
}
设置变量“numMatches”在哪里? – 2011-12-26 21:17:36
检查你可能有两个最后的条目是相同的,也可以在填充'匹配'的地方放一些代码片段? – havexz 2011-12-26 22:25:27