본문 바로가기
프로그래밍/Java

[Java] 특정문자의 개수 구하는 법

by Youngs_ 2021. 10. 14.

아래 코드들은 char형이기때문에 2개이상의 문자의 개수를 구할수없다.

 

1. 반복문 사용

public class CharCount {
public static void main(String[] args) {
String str = "apple";
System.out.println(countChar(str, 'a')); // 1
System.out.println(countChar(str, 'p')); // 2
System.out.println(countChar(str, 'l')); // 1
System.out.println(countChar(str, 'e')); // 1
System.out.println(countChar(str, 'c')); // 0
}
public static int countChar(String str, char ch) {
int count = 0;
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == ch) {
count++;
}
}
return count;
}
}

2. stream 사용 (Java 8 이후 버전)

public class CharCount {
public static void main(String[] args) {
String str = "apple";
System.out.println(countChar(str, 'a')); // 1
System.out.println(countChar(str, 'p')); // 2
System.out.println(countChar(str, 'l')); // 1
System.out.println(countChar(str, 'e')); // 1
System.out.println(countChar(str, 'c')); // 0
}
public static long countChar(String str, char ch) {
return str.chars()
.filter(c -> c == ch)
.count();
}
}

3. replace 사용

public class CharCount {
public static void main(String[] args) {
String str = "apple";
System.out.println(countChar(str, 'a')); // 1
System.out.println(countChar(str, 'p')); // 2
System.out.println(countChar(str, 'l')); // 1
System.out.println(countChar(str, 'e')); // 1
System.out.println(countChar(str, 'c')); // 0
}
public static int countChar(String str, char ch) {
return str.length() - str.replace(String.valueOf(ch), "").length();
}
}

 

출처: https://hianna.tistory.com/540 [어제 오늘 내일]

댓글