返回此骰子的面到字母的映射。使用整数值 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}
客户端无法使用返回的映射修改人脸到字母的映射;即,修改返回的地图对骰子没有影响。
返回:人脸到字母的排序映射
也许是这样的??
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();
}
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());
}
}