소개
Java 에서 String 클래스는 문자 빈도를 찾는 데 사용할 수 있는 여러 메서드를 제공합니다. replace() 메서드, chars() 메서드 및 사용자 정의 루프를 사용하여 문자열에서 문자의 발생 횟수를 찾을 수 있습니다. 이 Lab 에서는 이러한 메서드를 사용하여 Java String 에서 문자의 발생 횟수를 계산합니다.
Java 에서 String 클래스는 문자 빈도를 찾는 데 사용할 수 있는 여러 메서드를 제공합니다. replace() 메서드, chars() 메서드 및 사용자 정의 루프를 사용하여 문자열에서 문자의 발생 횟수를 찾을 수 있습니다. 이 Lab 에서는 이러한 메서드를 사용하여 Java String 에서 문자의 발생 횟수를 계산합니다.
~/project 디렉토리에 CharOccurrence.java라는 새 Java 파일을 생성하고 텍스트 편집기에서 엽니다.
cd ~/project
touch CharOccurrence.java
이 단계에서는 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() 메서드를 사용하여 문자열에 있는 지정된 모든 문자를 가져옵니다. 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() 메서드와 사용자 정의 루프를 사용했습니다. 모든 방법은 사용하기 매우 쉽습니다. 편의성과 사용 사례에 따라 위 방법 중 하나를 사용할 수 있습니다.