我想读取一个文件并获取其中唯一单词的数量。到目前为止,我能够逐行读取文件(readline),将其存储在arraylist中,然后操作字符串。
我的输入如下:
(或(电视派对)(学习)) (=>考试(不是(或电视派对)))
基本上,我试图将每行从前缀转换为中缀,我需要找出输入文件中涉及的所有差异变量(如电视,派对等),以便我可以构建一个真值表并测试案例
目前我在操作数组列表中的所有字符串。你有更好的方法吗?
答案 0 :(得分:2)
如果要查找变量,请尝试:
String line = "(OR (OR tv party) (study)) (=> exam (NOT (OR tv party)))";
Scanner sc = new Scanner(line);
sc.useDelimiter("[^a-z]");
Set<String> set = new TreeSet<String>();
while(sc.hasNext()) {
String word = sc.next();
if (!word.isEmpty()) {
set.add(word);
}
}
System.out.println(set);
打印:
[exam, party, study, tv]
答案 1 :(得分:1)
拆分行并将单词存储到Set
。最后,您将获得独特的单词。如果你想知道单词count也使用map<String, Integer>
其中key(string)是单词,value(整数)是计数器。