2013-02-11 65 views
0

我不得不做一個預測性的文本程序,我必須做的一個方法是使用ArrayList和方法Collections.binarySearch。我們被告知,我們不得不增加一個對所有從字典中的單詞和其對應的數字簽名改成ArrayList中使用類似的方法,這是這樣的: -Collections.binarySearch不能正常工作

public class WordSig implements Comparable<WordSig> { 
private String word; 
private String signature; 


public WordSig(String word){ 
    this.word = word; 
    this.signature = ListDictionary.wordToSignature(word); 
} 

public String getSignature(){ 
    return signature; 
} 


public String toString() { 
    return signature + ", " + word; 
} 

@Override 
public int compareTo(WordSig ws){ 


    return signature.compareTo(((WordSig)ws).signature); 

} 


} 

這樣做我整理我的方法,然後經過實現了一種名爲signatureToWords的方法,該方法採用給定的數字簽名並嘗試查找找到該簽名的索引,但它始終返回-1。 signatureToWords方法如下所示: -

public static Set<String> signatureToWords(String signature) { 

    int index = Collections.binarySearch(listOfDictionary, 
      new WordSig(signature)); 

    System.out.println(index); 
    return null; 

} 

有沒有什麼可以在我的代碼中看到的錯誤?我真的很感激幫助。謝謝!

回答

0

我不會爲你做你的功課,但要確保你沒有混合單詞和簽名;)