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 {Die Ausführung dieses Codes:
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;
}
}
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) {Die Methodendeklaration nbr_min_recursive() Änderungen nur auf der Ebene der Zeichentypprüfung, die mit der Methode durchgeführt wird isLowercase().
/*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);
}
private static int nbr_min_recursive(String string, int i) {Die Methode isUppercase() entspricht dem isUpperCase().
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);
}
static boolean isUpperCase(char ch){Die Methode isTiny() entspricht dem isLowerCase().
int ascii = (int) ch;
//[A.. Z]
if((ascii>=65 & & ascii<=90)
//Buchstaben mit Akzent
|| (ascii>=192 & & ascii<=223))
true zurückgeben;
false zurückgeben;
}
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() {Und um Kleinbuchstaben zu zählen, gehen Sie wie folgt vor:
String phrase = "Dies ist ein Test";
langer Zähler = phrase.chars().filter(Zeichen::isUpperCase).count();
}
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() {Und um Kleinbuchstaben zu zählen, gehen Sie wie folgt vor:
String phrase = "Dies ist ein Test";
langer Zähler = CharMatcher.JAVA_UPPER_CASE.retainFrom(phrase).length();
}
public void compter_minuscules_java8() {
String phrase = "Dies ist ein Test";
langer Zähler = CharMatcher.JAVA_LOWER_CASE.retainFrom(phrase).length();
}