我的第一堂課稱爲比賽創建個人足球/足球比賽。它讓你選擇2支球隊和最終得分。第二類叫做「團隊」更高級。當比賽(比賽)方法被調用時,比賽的數量增加1.這部分工作正常。我的else語句(goalsForThisMatch)也可以正常工作。但是,當我檢查Team類對象時,它應該顯示與我在Match類中輸入的目標相同的目標和目標。實際發生的情況是,當我在按下比賽(比賽匹配)方法後檢查隊伍類時,大多數方法都被設置爲0,除了「玩過的」方法(按照它應該增加1)以及最終得分是。因此,如果我在比賽中輸入比分以便主隊獲得更多目標並贏得比賽,那麼Team類的對象檢查器中的Won方法將增加1.我需要兩種其他方法在團隊類中與匹配類鏈接。這些方法是:目標和目標。如果我將匹配類中的GoalsFor輸入爲「4」,那麼當我檢查Team類時,goalsFor也應設置爲4。如何訪問不同類中的變量?
我知道這一切可能聽起來很令人困惑,請原諒我,我很疲倦我即將頭昏睡去。希望在早上,有人會爲我解決這個問題。
public class Match
// instance variables - replace the example below with your own
private String HomeTeam;
private String AwayTeam;
private int HomeGoals;
private int AwayGoals;
/**
* Constructor for objects of class Match
*/
public Match(String ShortHomeTeamName, String ShortAwayTeamName, int NewHomeGoals, int NewAwayGoals)
{
// initialise instance variables
HomeTeam = ShortHomeTeamName;
AwayTeam = ShortAwayTeamName;
HomeGoals = NewHomeGoals;
AwayGoals = NewAwayGoals;
}
public String getHomeTeamName(){
return HomeTeam;
}
public String getAwayTeamName(){
return AwayTeam;
}
public int getHomeGoals(){
return HomeGoals;
}
public int getAwayGoals(){
return AwayGoals;
}
}
public class Team
private String TeamName;
private String ShortName;
private int Played;
private int GoalsFor;
private int GoalsAgainst;
private int GoalDifference;
private int Won;
private int Drawn;
private int Lost;
private int Points;
/**
* Constructor for objects of class Team
*/
public Team(String FullTeamName, String ShortTeamName)
{
// initialise instance variables
TeamName = FullTeamName;
ShortName = ShortTeamName;
Played = 0;
GoalsFor = 0;
GoalsAgainst = 0;
GoalDifference = 0;
Won = 0;
Drawn = 0;
Lost = 0;
Points = 0;
}
public String getTeamName(){
return TeamName;
}
public String getShortName(){
return ShortName;
}
public int getPlayed(){
return Played;
}
public void getGoalsFor(int InsertGoalsFor){
GoalsFor = InsertGoalsFor;
}
public void getGoalsAgainst(int InsertGoalsAgainst){
GoalsAgainst = InsertGoalsAgainst;
}
public int getGoalDifference(){
return (GoalsFor - GoalsAgainst);
}
public int getWon(){
return Won;
}
public int getDrawn(){
return Drawn;
}
public int getLost(){
return Lost;
}
public int getPoints(){
return Points;
}
public void play(Match match){
Played++;
int GoalsFor = match.getHomeGoals();
int goalsForThisMatch = match.getHomeGoals();
int goalsAgainstThisMatch = match.getAwayGoals();
String homeTeam = match.getHomeTeamName();
String ShortName = match.getHomeTeamName();
if (ShortName.equals(TeamName)){
ShortName = homeTeam;
} else {
ShortName = match.getAwayTeamName();
}
if (goalsForThisMatch > goalsAgainstThisMatch){
Won++;
}
else if (goalsForThisMatch == goalsAgainstThisMatch){
Drawn++;
}
else {
Lost++;
}
}
}
代碼審查項目:你在類的頂部定義的成員變量很多的變量名不按[Java命名約定](http://www.oracle.com/technetwork/java/ codeconventions-1 35099.html)這使您的代碼更難以閱讀。請命名以小寫字母開頭的變量,以使它們看起來不是類名。 –