2013-04-13 32 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>其中鍵(字符串)是單詞和值(整數)是計數器。

相關問題