如何在地图中添加EOF

时间:2018-11-26 01:52:00

标签: java

我正在读取此文件:

ab ab cab

并计算每个字符出现的次数并将其放入地图中:

Map<Character, Integer> map = new TreeMap<Character, Integer>();

生成的地图如下:

{ =2, a=3, b=3, c=1 }

但是我需要结果是这样的:

{ =2, a=3, b=3, c=1, EOF=1}

如何将EOF = 1添加到地图?这是一项作业,说我需要EOF = 1。

1 个答案:

答案 0 :(得分:1)

EOF不是字符,因此Map<Character, Integer>不能将EOF用作键。因此,您需要调整方法。

这里有两个选项:

  • 您可以选择输入中不会出现的某些特定字符(例如'\0'\uFFFF),然后使用该字符表示EOF。
  • 您可以改用Map<Integer, Integer>。每个字符都可以提升为整数(因为整数的范围是−2 31 到2 31 -1,并且字符只能是0到2 16 −1),这样就可以表示每个字符 EOF。
  • 您可以将EOF的计数存储在单独的int变量中。