Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在地图中添加EOF_Java - Fatal编程技术网

Java 如何在地图中添加EOF

Java 如何在地图中添加EOF,java,Java,我正在读这个文件: ab ab cab 计算每个字符出现的次数并将其放入地图: Map<Character, Integer> map = new TreeMap<Character, Integer>(); 但我需要的结果是: { =2, a=3, b=3, c=1, EOF=1} 如何将EOF=1添加到地图?这是一个作业,说明我需要EOF=1。EOF不是一个字符,因此Map不能将EOF用作键。所以你需要调整你的方法 这里有两个选项: 您可以选择一些特定的字符,

我正在读这个文件:

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

Map<Character, Integer> map = new TreeMap<Character, Integer>();
但我需要的结果是:

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

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

EOF不是一个字符,因此
Map
不能将EOF用作键。所以你需要调整你的方法

这里有两个选项:

  • 您可以选择一些特定的字符,这些字符不会以其他方式出现在输入中(例如
    '\0'
    \uFFFF
    ),并使用该字符表示EOF
  • 您可以使用
    地图
    。每个字符都可以提升为整数(因为整数的范围为−231至231−1,并且仅包含0到216之间的字符−1) ,这样就可以表示每个字符和EOF
  • 您可以将EOF计数存储在单独的
    int
    变量中

您有处理文件结尾的代码,因此您知道文件何时结束。可能表示您已经读取了
EOF
字符?我需要能够将此EOF从映射放入优先级队列,然后放入二叉树。但我不知道如何把它添加到地图上
{ =2, a=3, b=3, c=1, EOF=1}