Java에서 문자열의 대문자 및 소문자 수
이 기사에서는 프로그램을 인코딩하거나 java 8 및 java 8 및 guava API를 사용하여 JavaisUpperCase() 및 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();
}
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))
카운터++;
}
반환 카운터;
}
}
대문자 번호 68
/*문자열의 크기에 도달하면
* 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);
}
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);
}
int ascii = (int) ch;
//[A.. Z]
if((ascii>=65 & & ascii<=90)
//악센트 부호가 있는 문자
|| (ASCII>=192 & & ascii<=223))
true를 반환합니다.
false를 반환합니다.
}
int ascii = (int) ch;
//[a.. z]
if((ascii>=97 & & ascii<=122)
//악센트 부호가 있는 문자
|| (ASCII>=224 & & ascii<=255))
true를 반환합니다.
false를 반환합니다.
}
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();
}
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();
}