我是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