Чтобы найти индекс n-го вхождения определенного значения в строку или массив Java, вы можете использовать следующие методы:
-
Метод 1. Использование цикла
- Инициализируйте счетчик, чтобы отслеживать количество найденных вхождений.
- Перебрать строку или массив с помощью цикла.
- Проверьте, соответствует ли текущий элемент искомому значению.
- Если совпадение найдено, увеличьте счетчик.
- Когда счетчик достигнет нужного значения, верните индекс текущего элемента.
-
Метод 2: использование методов indexOf() и substring()
- Начните с начального индекса -1.
- Используйте цикл, чтобы найти нужное вхождение.
- На каждой итерации используйте метод indexOf(), чтобы найти индекс искомого значения, начиная с ранее найденного индекса + 1.
- Если метод indexOf() возвращает -1, это означает, что нужное вхождение не найдено.
- Если нужное вхождение найдено, верните индекс.
- Чтобы найти последующие вхождения, используйте метод substring() для извлечения части строки или массива, начиная с ранее найденного индекса + 1.
Вот пример реализации метода 2:
public static int findNthOccurrence(String str, String value, int n) {
int index = -1;
for (int i = 0; i < n; i++) {
index = str.indexOf(value, index + 1);
if (index == -1) {
break;
}
}
return index;
}
Этот метод принимает три входных данных: строку str, значение, которое вы хотите найти, valueи номер вхождения n. Он возвращает индекс n-го вхождения значения в строку. Если вхождение не найдено, возвращается -1.