новенькой Java, и я не могу понять это:Подсчет повторяющихся строк в массиве с равными()
Все, что я пытаюсь сделать, это распечатать дубликат строка и количество раз, он показывает в массив (не используя хэш-таблицы или что-то в этом роде, просто очень упрощенно).
Скажем, для массива, как это:
tempArray = {"dogs", "cats", "dogs", "dogs", "mice", "snakes", "cats"}
Вот мой код до сих пор:
int flowerCount = 0;
for (int j = 0; j < tempArray.length - 1; j++) {
for (int k = j + 1; k < tempArray.length; k++) {
if((tempArray[j].equals(tempArray[k])) && (j != k)) {
System.out.println(tempArray[j]);
flowerCount++;
}
}
}
Очевидно, что это не работает, что я делаю неправильно здесь? Кажется, это должно быть так просто сделать, но я не могу получить вложенные петли и счетчик справа.
Почему это, очевидно, не работает? Каков ожидаемый результат и каков фактический результат? –
Как я уже сказал, ожидаемый вывод - «напечатать повторяющуюся строку и количество раз, когда она появляется в массиве». Все, что он делает в настоящее время, печатает дублированный элемент ошибочное количество раз – AdjunctProfessorFalcon
, вы ищете определенную строку, которая известна до запуска функции, или пытаетесь найти все строки, которые дублируются? поэтому в вашем примере, если ваш выход будет «собаками» * 3, «кошками» * 2? – rothloup