Java 在两个不同团队之间创建赢/输记录方法

Java 在两个不同团队之间创建赢/输记录方法,java,Java,我如何创建一个方法来记录两个不同团队之间的赢/输? 这是团队对象和构造函数 public class NFLTeam4 { private int win; private int loss; private String team; public NFLTeam4(String teamName) { win = 0; loss = 0; team = teamName; } public NFLTeam4(int w, int l) { win

我如何创建一个方法来记录两个不同团队之间的赢/输? 这是团队对象和构造函数

public class NFLTeam4
{   private int win;
    private int loss;
    private String team;

public NFLTeam4(String teamName)
{   win = 0;
    loss = 0;
    team = teamName;
}
public NFLTeam4(int w, int l)
{   win = w;
    loss = l;
}
}
这是我试图创造一个赢一场比赛的方法

public class NFLGameDay4{
   public static void main(String[] args){  
    NFLTeam4 falcons = new NFLTeam4("Falcons");
    NFLTeam4 chiefs = new NFLTeam4("Chiefs");
    NFLTeam4 jets = new NFLTeam4("Jets");
}       

public NFLTeam4 winAGame(NFLTeam4 b)
{   int win = 1;
    int loss = 0;
    return new NFLTeam4(win, loss);
}   

您可以在
NFLTeam4
类中创建结果
Map

public class NFLTeam4
{
  private enum RESULT { WIN, LOSS };
  private Map<RESULT, List<NFLTeam4>> results = new HashMap<RESULT, ArrayList<NFLTeam4>>;
  // you can leave the constructor and other variables as they are

  public void winAGame(NFLTeam4 b) {
    win = win + 1;
    // Now check and add to your results map 
    // you will need to make sure your map is initialised properly
    results.get(RESULT.WIN).add(b);
  }
}
公共类NFLTeam4
{
私有枚举结果{WIN,LOSS};
私有映射结果=新HashMap;
//您可以保持构造函数和其他变量不变
公共无效winAGame(NFLTeam4 b){
赢=赢+1;
//现在检查并添加到结果图中
//您需要确保地图已正确初始化
结果.get(RESULT.WIN).添加(b);
}
}
您正在NFLTeam4对象中封装赢或输游戏的行为。您还可以扩展
结果
枚举,以包含有关结果日期、游戏编号、地点等的一些信息


这只是一个说明这是如何工作的例子。你应该考虑你的对象是如何根据需求来设计的。

你可以在<代码> nFrTeC4//Cux>类中创建一个结果<代码> map <代码>。
public class NFLTeam4
{
  private enum RESULT { WIN, LOSS };
  private Map<RESULT, List<NFLTeam4>> results = new HashMap<RESULT, ArrayList<NFLTeam4>>;
  // you can leave the constructor and other variables as they are

  public void winAGame(NFLTeam4 b) {
    win = win + 1;
    // Now check and add to your results map 
    // you will need to make sure your map is initialised properly
    results.get(RESULT.WIN).add(b);
  }
}
公共类NFLTeam4
{
私有枚举结果{WIN,LOSS};
私有映射结果=新HashMap;
//您可以保持构造函数和其他变量不变
公共无效winAGame(NFLTeam4 b){
赢=赢+1;
//现在检查并添加到结果图中
//您需要确保地图已正确初始化
结果.get(RESULT.WIN).添加(b);
}
}
您正在NFLTeam4对象中封装赢或输游戏的行为。您还可以扩展
结果
枚举,以包含有关结果日期、游戏编号、地点等的一些信息


这只是一个说明这是如何工作的例子。你应该考虑你的对象是如何根据需求来设计的。

首先,看起来你的<代码> nFrTeam 4类能够代表一个团队…

public NFLTeam4(String teamName) {   
    win = 0;
    loss = 0;
    team = teamName;
}
。。。或者一个团队的记录

public NFLTeam4(int w, int l) {   
    win = w;
    loss = l;
}
但不是两者都有:没有办法先提供团队名称,然后再修改记录。要纠正这一点(从而管理团队的记录),考虑删除第二个构造函数(<代码> int w,int L/<代码>一个),并创建两种方法来处理更改记录:

public void addWin() { 
    ++win;
}

//similar code for addLoss
注意:您可能需要添加像
getWinCount
之类的方法。您想添加什么以及如何编写代码取决于您,这只是为了让您开始


现在,
winAGame
只需要在提供的团队中调用
addWin
NFLTeam4 b

首先,您的
NFLTeam4
类似乎能够代表一个团队

public NFLTeam4(String teamName) {   
    win = 0;
    loss = 0;
    team = teamName;
}
。。。或者一个团队的记录

public NFLTeam4(int w, int l) {   
    win = w;
    loss = l;
}
但不是两者都有:没有办法先提供团队名称,然后再修改记录。要纠正这一点(从而管理团队的记录),考虑删除第二个构造函数(<代码> int w,int L/<代码>一个),并创建两种方法来处理更改记录:

public void addWin() { 
    ++win;
}

//similar code for addLoss
注意:您可能需要添加像
getWinCount
之类的方法。您想添加什么以及如何编写代码取决于您,这只是为了让您开始


现在,
winAGame
只需要在提供的团队中调用
addWin
NFLTeam4 b

谢谢,这很有帮助。在winAGame方法中,我应该如何解释一方的赢数上升而另一方的输数下降?那么,如果我使用的是猎鹰。维纳加姆(喷气机)如何记录猎鹰队的胜利和喷气机队的失败呢?@dk1现在
维纳加姆
NFLGameDay4
的成员,只需要一支队伍。所以你可以把它改成两支队伍,
a
b
,让
a
赢,让
b
输。你可以从
main
调用它,就像
winAGame(猎鹰、喷气机)
一旦你有了它,就需要两个团队。谢谢,这很有帮助。在winAGame方法中,我应该如何解释一方的赢数上升而另一方的输数下降?那么,如果我使用的是猎鹰。维纳加姆(喷气机)如何记录猎鹰队的胜利和喷气机队的失败呢?@dk1现在
维纳加姆
NFLGameDay4
的成员,只需要一支队伍。所以你可以把它改成两支队伍,
a
b
,让
a
赢,让
b
输。你可以从
main
调用它,就像
winAGame(猎鹰、喷气机)
一旦你有了它,就需要两个团队。