對於類項目,我們必須採用一個字符串(一個段落),將其放入單個單詞的數組中,然後將這些單詞放入Object Array的對象中。單詞不能重複,所以我使用Set來只獲取唯一值,但只有某些單詞重複!這是該方法的代碼。對於模糊的描述抱歉。即使使用了一個集合,也會在數組中重複使用
Private void processDocument()
{
String r = docReader.getLine();
lines++;
while(docReader.hasLines()==true)
{
r= r+" " +docReader.getLine();
lines++;
}
r = r.trim();
String[] linewords = r.split(" ");
while(linewords.length>words.length)
{
this.expandWords();
}
String[] newWord = new String[linewords.length];
for(int i=0;i<linewords.length;i++)
{
newWord[i] = (this.stripPunctuation(linewords[i]));
}
Set<String> set = new HashSet<String>(Arrays.asList(newWord));
Object[]newArray = set.toArray();
words = new Word[set.size()-1];
String newString = null;
for(int i =0;i<set.size();i++)
{
if(i==0)
{
newString = newArray[i].toString() + "";
}
else
{
newString = newString+newArray[i].toString()+" ";
}
}
newString = newString.trim();
String[] newWord2 = newString.split(" ");
for(int j=0;j<set.size()-1;j++)
{
Word newWordz = new Word(newWord2[j].toLowerCase());
words[j] = newWordz;
}
這裏有很多代碼 - 我強烈懷疑你不需要那麼多來證明問題。如果你展示一個簡短但完整的程序來展示問題,這將非常有幫助。 –
你能舉個例子嗎?一行或兩行輸入以及重複出現在這些行中的單詞會很有幫助。 – GregA100k