Функция String indexOf не будет работать здесь в качестве решения вашей проблемы, поскольку она предназначена для того, чтобы предоставить вам индекс первого вхождения требуемой подстроки (в данном случае конкретного символа).
Вам нужно перебирать символы вашей строки и подсчитывать совпадения с определенным символом.
String input_text;
input_text = JOptionPane.showInputDialog("Write in some text");
System.out.println("Index of e in input_text: "+ getMatchCount(input_text, 'e'));
int getMatchCount(String input, char charToMatch) {
int count = 0;
for(int i = 0; i < input.length(); i++) {
if(input.charAt(i) == charToMatch) {
count++;
}
}
return count;
}
Вы также можете использовать Apache Commons StringUtils ' countMatches *Функция 1009 * напрямую.
Более того, если вы намереваетесь найти количество нескольких (разных) символов во входной строке, вы можете создать карту количества вхождений для каждого из символов, присутствующих во входной строке,так что вам не нужно будет повторять всю строку снова и снова, когда вас попросят подсчитать количество совпадений для другого символа.