Введение
В Java класс String предоставляет несколько методов, которые можно использовать для нахождения частоты символов. Методы replace(), chars() и пользовательский цикл можно использовать для нахождения количества вхождений символа в строке. В этом лабораторном задании мы будем использовать эти методы для подсчета количества вхождений символа в строку Java.
Создайте Java-файл
Создайте новый Java-файл с именем CharOccurrence.java в каталоге ~/project и откройте его в текстовом редакторе.
cd ~/project
touch CharOccurrence.java
Использование метода replace()
В этом шаге мы используем метод replace() для определения количества вхождений символа в строке.
public class CharOccurrence {
public static void main(String[] args){
String str = "abracadabra-banana";
System.out.println(str);
// count occurrence
int count = str.length() - str.replace("a", "").length();
System.out.println("occurrence of a: "+count);
}
}
Сохраните и закройте файл. Скомпилируйте Java-программу с помощью следующей команды:
javac CharOccurrence.java
Запустите Java-программу с помощью следующей команды:
java CharOccurrence
Использование методов chars() и filter() в Java 8
В этом шаге мы используем метод chars(), который возвращает поток символов, а затем метод filter(), чтобы получить все указанные символы, присутствующие в строке. Метод count() используется для определения количества элементов в отфильтрованном потоке.
public class CharOccurrence {
public static void main(String[] args){
String str = "abracadabra-banana";
System.out.println(str);
// count occurrence
long count = str.chars().filter(ch -> ch == 'a').count();
System.out.println("occurrence of a: "+count);
}
}
Сохраните и закройте файл. Скомпилируйте Java-программу с помощью следующей команды:
javac CharOccurrence.java
Запустите Java-программу с помощью следующей команды:
java CharOccurrence
Использование пользовательского цикла
Это традиционное решение для нахождения количества символов в строке. Здесь мы используем цикл для обхода каждого символа строки и сравниваем символы с помощью метода charAt(), который возвращает символ, находящийся по указанному индексу, и в конце подсчитываем, совпадает ли символ с искомым символом.
public class CharOccurrence {
public static void main(String[] args){
String str = "abracadabra-banana";
System.out.println(str);
// count occurrence
int count = 0;
for (int i=0; i < str.length(); i++)
{
if (str.charAt(i) == 'a')
{
count++;
}
}
System.out.println("occurrence of a: "+count);
}
}
Сохраните и закройте файл. Скомпилируйте Java-программу с помощью следующей команды:
javac CharOccurrence.java
Запустите Java-программу с помощью следующей команды:
java CharOccurrence
Резюме
В этом практическом занятии мы изучили три различных метода для подсчета количества вхождений символа в Java-строку. Мы использовали методы replace(), chars() и filter(), а также пользовательский цикл. Все методы достаточно просты в использовании. Вы можете использовать любой из вышеперечисленных в зависимости от ваших потребностей и случаев использования.



