2014-05-12 116 views
-3

我想写一个方法来填充一些测试数据的地图。我创建了一个名为player的类,我希望player对象是地图中的值。当我尝试编译下面的代码时,我收到消息无法找到符号 - 变量string.I使用bluej。任何帮助,将不胜感激,因为我目前有一点压力。方法来填充地图

/** 
    * Write a description of class Members here. 
    * 
    * @author (your name) 
    * @version (a version number or a date) 
    */ 
    public class Members 
    { 
     private Map<String, player>memberNumbers; 

     /** 
     * Constructor for objects of class Members 
     */ 
     public Members() 
     { 
     memberNumbers = new HashMap<>(); 
     } 

     /** 
     * A method to populate the memberNumbers Map. 
     * 
     */ 
     public void populateMap() 
     { 
      memberNumbers.put(String, player); 

     } 
    } 
+0

memberNumbers.put(字符串,播放器)

public void populateMap() { memberNumbers.put(String, player); } 

;是你的问题。它期望一个字符串,并传递一个代表内置类的关键字 – TheLostMind

+1

你知道地图是做什么的吗?如果是的话,你认为'memberNumbers.put(String,player)'是什么意思? – Seelenvirtuose

回答

2

使用变量实例,而不是类型的关键字添加条目时Map

Player newPlayer = new Player(...); 
memberNumbers.put("player1", newPlayer); 

而且Java命名惯例表明,类名称以大写字母,给人Map<String, Player>这将避免混淆类型的实例

2

您需要实际竞价玩家:

memberNumbers.put("1 - Fred", new Player()); 
memberNumbers.put("2 - Bob", new Player()); 
// and so forth 
0

替换

public void populateMap() 
     { 
      Player player= new Player(); 
      memberNumbers.put("some text", player); 

     }