2016-01-06 16 views
-3

我需要計數arrayList對象中的字數。我試圖使用拆分,但分裂給出了一個錯誤。我的代碼是ArrayList空間拆分數組來計算字數

public int countAdvertisementWords(ArrayList<String> adverts){ 

if(!(adverts.equals("")||adverts.equals(" ")||adverts==null)) 
    { 
    String[] str; 
    str = this.adverts.split("\\s+"); 
    numberOfWords = str.size(); 
    return numberOfWords; 
    } 
    else 
    return ""; 
} 

我怎樣才能解決這個問題,或者我怎麼能寫計數由

public void setAdverts(ArrayList<String> adverts) 
    { 
    this.adverts = adverts; 
    } 
+0

我們應該猜測錯誤嗎?作爲一個旁註,我會開始你的條件與'廣告== null',否則你會遇到'NPE' – SomeJavaGuy

+0

缺乏信息。你能告訴我們一些測試用例嗎? – Sifeng

+0

我不明白你的代碼。 1.你想要從所有的ArrayList Items或者只從一個String中獲得字數。 2.你的代碼只是想讀取一個字符串,但你正在讀取一個對象。你試圖達到什麼目的? – Bharatesh

回答

0

您設置了廣告詞的數量來遍歷數組的長度碼試試像這樣的東西。

public int countAdvertisementWords(ArrayList<String> adverts){ 
int adverts_count=0; 
for (int i = 0; i < adverts.size(); i++) { 
    if(!adverts.get(i).equals(null)||!adverts.get(i).equals("")||!adverts.get(i).equals(" ")){ 
     adverts_count++; 
    }else{ 
     //do nothing 
    } 
} 
    return adverts_count; 
} 

希望這會有所幫助。