Я пишу код для подсчета различных слов из строкового массива в java и затем хранения этих разных слов в массиве и подсчета в другом массиве. Если строковый массив похож на String [] appName = {"123", "abc", "Twitter", "123", "abc", "123", "Twitter", "abc", "abc"}; затем в одном массиве {«123», «abc», «Twitter»} shoud приходят, а в другом массиве подсчитывается. Но в строке 21 есть исключение. Любая помощь будет доступной.Подсчитайте слово в массиве String в java
public class counts {
/**
* @param args
*/
public static void countWords(String[] appName){
int count =1;
int[] count1 = new int[appName.length];
String[] array= new String[12];
for(int k= 0 ;k< appName.length;k++)
{
if(array.length>0)
{
for(int l =0; l<array.length;l++)
{
if(!array[l].equals(appName[k])|| array[l]== null)
{
array[k] = appName[k];
}
}
System.out.println(array[k]);
}
}
for (int i=0; i<appName.length; i++){
String temp1 = appName[i];
//System.out.println(temp + " ");
count = 1;
for(int j=i+1; j<appName.length; j++){
String temp2= appName[j];
if(temp1.equals(temp2))
{
count++;
}
}
count1[i] = count;
System.out.println(count1[i]);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] appName = {"123", "abc", "Twitter", "123", "abc","123","Twitter", "abc","abc"};
countWords(appName);
}
}
Есть ли причина, что вы не просто положить все 'String's в' 'Set? Кроме того, всегда отправляйте трассировку стека из любого исключения; не говорите, что вы его получили. –
chrylis
Добавьте их все в 'HashSet'. Он не будет содержать дубликатов. Затем просто поместите его в массив. – Obicere
Вам нужно решить проблему таким образом? Если вы знакомы с использованием HashMap, в частности, 'HashMap', вы можете сохранить каждую строку с подсчетом количества раз, когда она появилась. –
user1445967