2013-04-13 31 views
-1

我想读取一个文件并获取其中的唯一字数。到目前为止,我能够逐行读取文件(readline),将它存储在一个数组列表中,然后处理该字符串。读取文件并找到唯一字

我输入的样子:

(OR(或电视机方)(研究)) (=>考试(NOT(或电视机方)))

基本上,我我试图将每行从前缀转换为中缀,我需要找出输入文件中涉及的所有diff变量(如电视,聚会等),以便构建真值表并测试案例。

目前我操纵数组列表中的所有字符串。有没有更好的办法你做到这一点?

+0

好吧,我正在阅读扫描仪现在。但是因为我找不到找到变量的模式(除了它们很小)之外。 –

+0

你的问题不清楚,特别是'prefix'到'infix'部分......给出一个预期输出的例子。和**你试过了什么!** – Anirudha

回答

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

分割线和字存入Set。最后,你会得到独特的话。如果您想知道单词计数也使用map<String, Integer>其中键(字符串)是单词和值(整数)是计数器。

相关问题