-1

返回此骰子的面到字母的映射。使用整数值 1 到 6 来识别人脸,返回的地图按其键(人脸编号)排序。例如,有面的骰子:

1、2、3、4、5、6

有字母:

C、M、I、O、U、T

将返回其 toString 方法将产生以下字符串的地图:

{1=C, 2=M, 3=I, 4=O, 5=U, 6=T}

客户端无法使用返回的映射修改人脸到字母的映射;即,修改返回的地图对骰子没有影响。

返回:人脸到字母的排序映射

4

2 回答 2

0

也许是这样的??

Map<Integer, Character> dieMap = new Hashmap<Integer, Character>();

// ..build the map..

public String toString() {
  StringBuilder builder = new StringBuilder();
  for (Map.Entry<Integer, Character> entry : dieMap.entrySet()) {
    // append entry.getKey() and entry.getValue() how you want
  }
  return builder.toString();
}
于 2013-10-17T20:51:30.923 回答
0
final class Die
{

  private final Map<Integer, Character> die = new HashMap<>();

  Die(CharSequence faces)
  {
    for (int idx = 0; idx < faces.length(); ++idx)
      die.put(idx + 1, faces.charAt(idx));
  }

  SortedMap<Integer, Character> facesToLetters()
  {
    return new TreeMap<>(die);
  }

  public static void main(String... argv)
    throws Exception
  {
    Die die = new Die("CMIOUT");
    System.out.println(die.facesToLetters());
  }

}
于 2013-10-17T20:59:14.090 回答