Java에서 문자열의 대문자 및 소문자 수

이 기사에서는 프로그램을 인코딩하거나 java 8 및 java 8 및 guava API를 사용하여 Java

isUpperCase() 및 isLowerCase()를 사용하여 문자열에서 대문자와 소문자의 인스턴스 수를 계산하는 방법을 보여줍니다>이 방법은 문장의 문자를 살펴보고 각각에 대해 소문자인지 대문자인지 확인하는 것으로 구성됩니다. 대문자에 대한 카운터와 소문자에 대한 카운터를 만들어야 합니다. 마지막에 두 변수의 값을 표시합니다.

문자가 소문자인지 대문자인지 확인하기 위해 java에는 두 가지 메서드가 포함되어 있습니다.
boolean isUpperCase(char ch): 이 메서드는 문자가 대문자인 경우 true를 반환합니다. 범주가 Character.getType(ch)은 UPPERCASE_LETTER.
boolean isLowerCase(char ch): 이 메서드는 문자가 소문자인 경우 true를 반환합니다. 범주가 Character.getType(ch)은 LOWERCASE_LETTER.

public class nombre_majuscule_minuscule {

public static void main(String[] args) {

String string="Java는 프로그래밍 언어입니다"+
"Sun Microsystems에서 만든 객체 지향";

int nbr_min = nbr_min(문자열);
int nbr_maj = nbr_maj(문자열);

System.out.println("소문자 수"+nbr_min);
System.out.println("대문자 숫자"+nbr_maj);

}

private static int nbr_maj(문자열 문자열) {
int counter=0;
for(int i = 0; i< string.length()를 호출합니다. i++){
char ch = string.charAt(i);
if(Character.isLowerCase(ch))
카운터++;
}
반환 카운터;
}

private static int nbr_min(문자열 문자열) {
int counter=0;
for(int i = 0; i< string.length()를 호출합니다. i++){
char ch = string.charAt(i);
if(Character.isUpperCase(ch))
카운터++;
}
반환 카운터;
}
}
이 코드의 실행:

소문자 번호 4
대문자 번호 68

두 메서드의 재귀 버전을 만들 수 있습니다.  nbr_min()  그리고  nbr_maj()입니다. 이번에는 java isUpperCase()isLowerCase(), 소문자 및 대문자 알파벳의 ASCII 코드 범위를 기반으로 합니다.

private static int nbr_maj_recursive(String string, int i) {
/*문자열의 크기에 도달하면
* return 0
*/
if(string.length()-i==0)
return 0;
/*그렇지 않으면 다음 문자를 확인합니다.*/
else{
char ch = string.charAt(i);
if(estUpper(ch))
/*i를 증가시키고 1을 계산합니다
*대문자*/
return nbr_maj(string, ++i)+1;
}
반환 nbr_maj(문자열, ++i);
}
메서드 선언  nbr_min_recursive()  메서드로 수행되는 문자 유형 검사 수준에서만 변경  isLowercase().

private static int nbr_min_recursive(String string, int i) {
if(string.length()-i==0)
return 0;
else{
char ch = string.charAt(i);
if(isLowercase(ch))
return nbr_min(문자열, ++i)+1;
}
return nbr_min(문자열, ++i);
}
메서드  isUppercase()  는 다음과 같습니다. isUpperCase().

static boolean isUpperCase(char ch){
int ascii = (int) ch;
//[A.. Z]
if((ascii>=65 & & ascii<=90)
//악센트 부호가 있는 문자
|| (ASCII>=192 & & ascii<=223))
true를 반환합니다.
false를 반환합니다.
}
메서드  isTiny()  는 다음과 같습니다. isLowerCase().

static boolean isLowercase(char ch){
int ascii = (int) ch;
//[a.. z]
if((ascii>=97 & & ascii<=122)
//악센트 부호가 있는 문자
|| (ASCII>=224 & & ascii<=255))
true를 반환합니다.
false를 반환합니다.
}

Java 8

Java 8에서는 대문자와 소문자 수를 계산할 수 있습니다. 메서드를 호출합니다.  chars()  a를 반환합니다. IntStream  그리고 거기에서 필터를 전달하여 대문자와 소문자를 필터링할 것입니다. 결국 우리는 operation  count()  인스턴스 수를 찾으려면.

public void compter_majuscules_java8() {

String phrase = "This is a test";

긴 카운터 = phrase.chars().filter(Character::isUpperCase).count();
}
소문자를 세려면 이렇게 하십시오.

public void compter_minuscules_java8() {

문자열 문구 = "This is a Test";

긴 카운터 = phrase.chars().filter(Character::isLowerCase).count();
}

Google Guava

Guava API는 문자열의 총 대문자 및 소문자 수를 결정하는 데에도 사용됩니다. 다음을 고려할 수 있습니다. ChartMatcher  문자 집합으로 사용되므로 ChartMatcher.JAVAUPPERCASE를 사용할 때 모든 대문자를 의미합니다. 방법  rainFrom()  대문자가 아닌 모든 문자를 제거합니다.


public void compter_majuscules_java8() {

String phrase = "This is a test";

긴 카운터 = CharMatcher.JAVA_UPPER_CASE.retainFrom(phrase).length();
}
소문자를 세려면 이렇게 하십시오:

public void compter_minuscules_java8() {

String phrase = "This is a Test";

긴 카운터 = CharMatcher.JAVA_LOWER_CASE.retainFrom(phrase).length();
}