Javaの文字列の大文字と小文字の数

この記事では、プログラムをエンコードするか、java 8とgoogle.

isUpperCase()およびisLowerCase()のguava APIを使用して、文字列内の大文字と小文字のインスタンスの数をカウントする方法を示します

このメソッドは、文の文字を調べて、それぞれ小文字か大文字かを確認することで構成されます。大文字用のカウンターと小文字用のカウンターを作成する必要があります。最後に、2つの変数の値を表示します.

文字が小文字か大文字かを確認するために、javaには2つのメソッドが含まれています:
boolean isUpperCase(char ch): このメソッドは、文字が大文字の場合に true を返します。文字のカテゴリが Character.getType(ch) は UPPERCASE_LETTER.
boolean isLowerCase(char ch): このメソッドは、文字が小文字の場合に true を返します。カテゴリが Character.getType(ch) is LOWERCASE_LETTER.

public class nombre_majuscule_minuscule {

public static void main(String[] args) {

String string="Java is a programming language"+
"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 char ch = string.charAt(i);
if(Character.isLowerCase(ch))
counter++;
}
リターンカウンター。
}

private static int nbr_min(文字列文字列) {
int counter=0;
for(int i = 0; i char ch = string.charAt(i);
if(Character.isUpperCase(ch))
counter++;
}
リターンカウンター。
}
}
このコードの実行:

小文字の番号 4
大文字の番号 68

両方のメソッドの再帰バージョンを作成できます nbr_min() および nbr_maj() です。今回は、java isUpperCase() および isLowerCase()、小文字と大文字のアルファベットのASCIIコード範囲に基づきます.

private static int nbr_maj_recursive(String string, int i) {
/*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;
}
return nbr_maj(string, ++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(string, ++i)+1;
}
return nbr_min(string, ++i);
}
メソッド  isUppercase() は、isUpperCase().

static boolean isUpperCase(char ch){
int ascii = (int) ch;
//[A..Z]
if((ascii>=65 &&ascii<=90)
//アクセント付き文字
||(ascii>=192 &&ascii<=223))
return true;
return false;
}
メソッド isTiny() は、isLowerCase().

static boolean isLowercase(char ch){
int ascii = (int) ch;
//[a..z]
if((ascii>=97 &&ascii<=122)
//アクセント付き文字
||(ascii>=224 &&ascii<=255))
return true;
return false;
}

Java 8

Java 8では、大文字と小文字の数を計算できます。メソッド chars() これはIntStream そこから、フィルターを渡して大文字と小文字を除外します。最後に、操作 count() インスタンスの数を調べるには.

public void compter_majuscules_java8() {

String phrase = "This is a test";

long counter = phrase.chars().filter(Character::isUpperCase).count();
}
小文字を数えるには、次のようにします:

public void compter_minuscules_java8() {

String phrase = "This is a Test";

long counter = 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";

long counter = CharMatcher.JAVA_UPPER_CASE.retainFrom(phrase).length();
}
小文字を数えるには、次のようにします:

public void compter_minuscules_java8() {

String phrase = "This is a Test";

long counter = CharMatcher.JAVA_LOWER_CASE.retainFrom(phrase).length();
}