addPlayer()方法不返回任何值

use*_*714 -2 java

我正在编写一个代码来整理一个慈善橄榄球队,我要编写一个名为addPlayer()的方法,该方法需要两个字符串争论,玩家姓名,如果名人或专业人士,以及性别的char参数.该方法不返回任何值.此方法创建具有给定名称,分类和性别的Player的新实例,并将其添加到名人或教授的适当球员集合中.

我有一个populatePlayerLists()方法

public void populatePlayerLists()
{

   this.addPlayer("Robbie Williams","Celebrity",'M');
   this.addPlayer("Robbie Fowler","Professional",'M');

}
Run Code Online (Sandbox Code Playgroud)

我的实例变量如下

private List < Player > professionalsList;
private List< Player > celebritiesList;
Run Code Online (Sandbox Code Playgroud)

我的addPlayer()方法如下

public void addPlayer(String name, String classification,char gender)
{

   { 
      this.professionalsList.add(new Player(name, classification, gender)); 
      this.celebritiesList.add(new Player(name, classification, gender)); 
   } 
}
Run Code Online (Sandbox Code Playgroud)

玩家和名人添加到列表,但他们添加到两个列表,当我希望明星转到一个列表和专业人士转到其他帮助请.

Col*_*ert 5

您可以使用此String系统并使用a检查字符串的值equals().

Player player = new Player(name, classification, gender);
if (classification.equals("Celebrity")) {
   this.celebritiesList.add(player);
} else if (classification.equals("Professional"))
   this.professionalsList.add(player); 
}
Run Code Online (Sandbox Code Playgroud)

或者您可以将系统更改为使用枚举(方式,方式更好):

public enum Classification{
    Professional,
    Celebrity;
}

public enum Gender{
    Male,
    Female;
}

public void addPlayer(String name, Classification classification, Gender gender){ 
    Player player = new Player(name, classification, gender);
    if (classification == Classification.Celebrity) {
       this.celebritiesList.add(player);
    } else if (classification == Classification.Professional){
       this.professionalsList.add(player); 
    }
}

//...    
this.addPlayer("Robbie Williams", Classification.Celebrity, Gender.Male);
this.addPlayer("Robbie Fowler", Classification.Professional, Gender.Male);
Run Code Online (Sandbox Code Playgroud)

你甚至可以使用switch(但我不会使用它):

Player player = new Player(name, classification, gender);
switch(classification){
    case Celebrity : 
        this.celebritiesList.add(player);
        break;
    case Professional : 
        this.professionalsList.add(player);
        break;
    default :
        System.out.println("FileNotFound");
}
Run Code Online (Sandbox Code Playgroud)