簡體   English   中英

計算每個句子中的單詞數

[英]Counting Number of Word in Each Sentence

我有一個這種格式的文本文件:

   Word   index
   Adam     0
   likes    1
   to       2
   play     3
   soccer   4
   You      0
   have     1
   to       2
   study    3
   for      4
   the      5
   exam     6

我想計算每個句子中的單詞數。 我創建了3個數組列表,其中一個用於單詞索引,另一個用於計數句子中的標記,另一個用於保存每個句子的標記數。 我將上面的文件讀入數組列表並執行以下操作:

    (int f=0; f<OnlyWordIndex.size() ;f++){
       if (!OnlyWordIndex.get(f).equals("0"))
        {
         NumberCounter1.add("1");
        }

        if (OnlyWordIndex.get(f).equals("0"))
        {
         NumberCounter1.add("1");
         SentenceLegnth=NumberCounter1.size();
         NumberCounter2.add(SentenceLegnth);
         NumberCounter1.clear();

        }
     }

但是我想我要么丟失了一些東西,要么使問題復雜化。 因此,任何改進方面的幫助將不勝感激。 謝謝,

在這種情況下,使用映射而不是ArrayList似乎是合乎邏輯的,即使您可以通過兩種方式實現。

使用地圖:

Map<String,Integer> wordMap = putWordsInMap(File file);

public void countWords([whatever-input-you-want]) {
    String sentence = [some-sentence];
    String[] senSplit = sentence.split(" ");
    for(String s : senSplit) {
        if(wordMap.contains(s)) {
            wordMap.put(s,new Integer(wordMap.get(s).intValue + 1));
        }
    }
}

如果您還想跟蹤每個句子中有多少個單詞,可以將其添加到現有代碼中:

List<String> sentenceWords = new ArrayList<String>();
for(String s : senSplit) {    
if(wordMap.contains(s)) {    
    wordMap.put(s,new Integer(wordMap.get(s).intValue + 1));    
    sentenceWordCount += 1;
}  
sentenceWords.add(sentenceWordCount);

您也可以將句子字數實現為地圖...這取決於解決方案背后的上下文。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM