我正在读取这个文件:
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。
EOF不是字符,因此Map<Character, Integer>
不能将EOF用作键。所以你需要调整你的方法。
这里有两个选项:
- 您可以选择一些特定的字符,否则这些字符不会出现在您的输入中(如
' '
或uFFFF
(,并使用该字符来表示EOF - 您可以使用
Map<Integer, Integer>
。每个字符都可以升级为整数(因为整数的范围从−231到231−1,字符仅从0到216–1(,因此可以表示每个字符和EOF - 您可以将EOF的计数存储在单独的
int
变量中