привет я новичок в работе с java. У меня есть следующий код, где я хотел инициализировать строковый массив word[], динамически состоящий из размера общего числа. токенов во всех документах [] массив. как мне это сделать?
String []result = {"Shipment of Gold damaged in fire","Delivery of silver arrived in silver truck","shipment of Gold arrived in Truck"};
String []documents = new String[result.length];
for (int k =0; k<result.length; ++k){
documents[k] = result[k].toLowerCase();
System.out.println("document["+k+"] :" + documents[k]);
}
/*step 2: Tokenize all documents and create vocabulary from it*/
int i=0;
String [] word = new String [30]; // how to do dynamic allocation here
int no_of_tokens=0;
for(String document:documents){
StringTokenizer st = new StringTokenizer(document," ");
System.out.print("tokens in document"+ i +":"+ st.countTokens()+"\n");
while(st.hasMoreTokens()) {
word[no_of_tokens]=st.nextToken();
System.out.print(word[no_of_tokens] + "\n");
no_of_tokens++;
}
i++;
}
StringTokenizer
говорится... StringTokenizer — это устаревший класс, который сохраняется по соображениям совместимости, хотя его использование в новом коде не рекомендуется. ... так что я думаю, вам следует избегать этого. И если вы студент, и ваш учитель проинструктировал вас использовать его, покажите ему / ей Javadoc. Вы должны использоватьsplit
для чего-то подобного, и это автоматически даст вам массив нужного размера. - person Dawood ibn Kareem   schedule 13.05.2014