Я создал программу, которая подсчитывает элементы в массиве. Он работает, но в моей программе есть своего рода ошибка.Подсчет элемента в массиве
Я хочу, чтобы выход моей программы, как это:
1 произошло: 2times
2 произошло: 1times
3 произошло: 1times
6 произошло: 1times
но моя программа дает оценку выходной сигнал этого:
1 произошло: 1times
1 произошло: 2times
2 произошло: 1times
3 произошло: 1times
6 произошло: 1times
String[] values= {"1", "1", "3", "6", "2"};
int[] counts = new int[values.length];
Arrays.sort(values);
int temp = 0;
int c = 0;
for(int i = 0; i < values.length; i++){
counts[i] = Integer.parseInt(values[i]);
for(int j = 0;j < counts.length; j++) {
if(counts[i] == counts[j]) {
c++;
}
}
System.out.println(counts[i] + " occured: " + c +" times");
c = 0;
}
Вы можете сделать это, используя hashmap. – vikiiii
Посмотрите на http://stackoverflow.com/questions/8098601/java-count-occurrence-of-each-item-in-an-array :) – sufinawaz
Пожалуйста, избегайте statemts без фигурных скобок. –