Java 索引树状图
我正在尝试从 txt 文件打印出索引,并且我使用扫描仪读取下面的文件,我似乎在将单词放入数组列表中时遇到问题
public class Concordance
{
public static void main (String[]args) throws IOException
{
TreeMap <String, ArrayList<Integer>> concordance = new TreeMap <String, ArrayList<Integer>>();
File myfile = new File ("Caesar.txt");
Scanner scan = new Scanner(myfile);
ArrayList <Integer > integer = new ArrayList <Integer>();
for (int i = 0; i < scan.nextLine().length(); i++)
{
String key = scan.nextLine().toLowerCase();
if (scan.nextLine().length(i) > 1)
{
if (concordance.get(key) == null) {
concordance.put(key, 1))
} else {
ArrayList<Integer> value = concordance.get(key).indexOf(integer);
value++;
concordance.put(key, value);
}
}
}
System.out.println(concordance);
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这段代码无法编译。
您正在尝试将整数放入
Map>
中。这是这一行:
此行也失败了:
因为 value 是
Integer
的集合,而不是整数。此行在运行时将始终返回 false:
因为
integer
被声明为ArrayList
,并且您正在搜索 Integer 的集合。一般来说,您对
Integer
和ArrayList
之间存在很大的混淆。您还调用了scan.nextLine()
,而没有注意到它每次被调用时都会前进一行。This code cannot compile.
You are trying to put an integer in a
Map<String, ArrayList<String>>
.This is the line:
Also this line fails:
Since value is a collection of
Integer
, not an integer.This line will always return false at runtime:
Because
integer
is declared asArrayList
, and you are searching a collection of Integer.In general, you have a great confusion between
Integer
andArrayList<Integer>
. You are also making calls toscan.nextLine()
without noticing that it ADVANCES a line each time it is called.