Anzahl von Groß- und Kleinbuchstaben in einer Zeichenfolge in Java

Dieser Artikel zeigt, wie Sie die Anzahl der Instanzen von Groß- und Kleinbuchstaben in einer Zeichenfolge zählen, indem Sie unser Programm codieren oder mit Java 8 und der Guava-API von Google.

isUpperCase() und isLowerCase() in Java

Diese Methode besteht darin, die Zeichen des Satzes durchzugehen und für jedes Zeichen zu sehen, ob es sich um Klein- oder Großbuchstaben handelt. Wir müssen einen Zähler für Großbuchstaben und einen weiteren für Kleinbuchstaben erstellen. Am Ende zeigen wir die Werte der beiden Variablen an.

Um zu prüfen, ob das Zeichen klein oder groß geschrieben ist, enthält Java zwei Methoden:
boolean isUpperCase(char ch): Diese Methode gibt true zurück, wenn das Zeichen in Großbuchstaben geschrieben ist. Ein Zeichen wird in Großbuchstaben geschrieben, wenn seine Kategorie von Character.getType(ch) ist UPPERCASE_LETTER.
boolean isLowerCase(char ch): Diese Methode gibt true zurück, wenn das Zeichen in Kleinbuchstaben geschrieben ist. Ein Zeichen ist kleingeschrieben, wenn seine Kategorie von Character.getType(ch) ist LOWERCASE_LETTER.

public class nombre_majuscule_minuscule {

public static void main(String[] args) {

String string="Java ist eine Programmiersprache"+
"objektorientiert erstellt von Sun Microsystems";

int nbr_min = nbr_min(Zeichenfolge);
int nbr_maj = nbr_maj(Zeichenfolge);

System.out.println("Anzahl der Kleinbuchstaben "+nbr_min);
System.out.println("Nummer in Großbuchstaben "+nbr_maj);

}

private static int nbr_maj(String string) {
int counter=0;
for(int i = 0; i< string.length(); i++){
char ch = string.charAt(i);
if(Character.isLowerCase(ch))
Zähler++;
}
Rückgabezähler;
}

private static int nbr_min(Zeichenfolge) {
int counter=0;
for(int i = 0; i< string.length(); i++){
char ch = string.charAt(i);
if(Character.isUpperCase(ch))
counter++;
}
Rückgabezähler;
}
}
Die Ausführung dieses Codes:

Kleinbuchstaben 4
Großbuchstaben 68

Sie können die rekursive Version beider Methoden erstellen  nbr_min()  und  nbr_maj(). Diesmal haben wir uns entschieden, die beiden Methoden, die von java bereitgestellt werden, selbst zu programmieren isUpperCase() und isLowerCase(), basierend auf dem ASCII-Codebereich des Klein- und Großbuchstabens.

private static int nbr_maj_recursive(String string, int i) {
/*if i erreicht die Größe des Strings
* return 0
*/
if(string.length()-i==0)
return 0;
/*andernfalls prüfen wir das nächste Zeichen*/
else{
char ch = string.charAt(i);
if(estUpper(ch))
/*inkrementiere i und zähle eins
*Großbuchstabe*/
return nbr_maj(string, ++i)+1;
}
return nbr_maj(string, ++i);
}
Die Methodendeklaration  nbr_min_recursive()  Änderungen nur auf der Ebene der Zeichentypprüfung, die mit der Methode durchgeführt wird  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(Zeichenfolge, ++i);
}
Die Methode  isUppercase()  entspricht dem isUpperCase().

static boolean isUpperCase(char ch){
int ascii = (int) ch;
//[A.. Z]
if((ascii>=65 & & ascii<=90)
//Buchstaben mit Akzent
|| (ascii>=192 & & ascii<=223))
true zurückgeben;
false zurückgeben;
}
Die Methode  isTiny()  entspricht dem isLowerCase().

static boolean isLowercase(char ch){
int ascii = (int) ch;
//[a.. z]
if((ascii>=97 & & ascii<=122)
//Buchstaben mit Akzent
|| (ascii>=224 & & ascii<=255))
return true;
false zurückgeben;
}

Java 8

Mit Java 8 können Sie die Anzahl der Groß- und Kleinbuchstaben berechnen. Wir werden die Methode  chars()  , die eine IntStream  Und von dort aus werden wir Groß- und Kleinbuchstaben herausfiltern, indem wir einen Filter passieren. Am Ende werden wir die Operation verwenden  count()  um die Anzahl der Instanzen zu ermitteln.

public void compter_majuscules_java8() {

String phrase = "Dies ist ein Test";

langer Zähler = phrase.chars().filter(Zeichen::isUpperCase).count();
}
Und um Kleinbuchstaben zu zählen, gehen Sie wie folgt vor:

public void compter_minuscules_java8() {

String phrase = "Dies ist ein Test";

langer Zähler = phrase.chars().filter(Zeichen::isLowerCase).count();
}

Google Guava

Die Guava-API wird auch verwendet, um die Gesamtzahl der Groß- und Kleinbuchstaben in einem String zu bestimmen. Sie können Folgendes in Betracht ziehen: ChartMatcher  als Zeichensatz, wenn Sie also ChartMatcher.JAVAUPPERCASE verwenden, bedeutet dies einen beliebigen Großbuchstaben. Die Methode  rainFrom()  entfernt alle Zeichen, die nicht in Großbuchstaben geschrieben sind.


public void compter_majuscules_java8() {

String phrase = "Dies ist ein Test";

langer Zähler = CharMatcher.JAVA_UPPER_CASE.retainFrom(phrase).length();
}
Und um Kleinbuchstaben zu zählen, gehen Sie wie folgt vor:

public void compter_minuscules_java8() {

String phrase = "Dies ist ein Test";

langer Zähler = CharMatcher.JAVA_LOWER_CASE.retainFrom(phrase).length();
}