Ignorieren von Nicht-Buchstaben-Zeichen
Im vorherigen Schritt haben wir gesehen, dass Character.isUpperCase()
false
für Zeichen zurückgibt, die keine Buchstaben sind, wie z. B. Leerzeichen und Zahlen. Oftmals interessieren uns bei der Analyse von Texten nur die Buchstaben, und wir möchten andere Zeichen ignorieren.
Die Character
-Klasse bietet eine weitere nützliche Methode, Character.isLetter()
, die true
zurückgibt, wenn ein Zeichen ein Buchstabe ist (egal ob Groß- oder Kleinbuchstabe), und false
sonst. Wir können Character.isLetter()
und Character.isUpperCase()
kombinieren, um zu prüfen, ob ein Zeichen ein Großbuchstabe ist und gleichzeitig Nicht-Buchstaben-Zeichen zu ignorieren.
Lassen Sie uns unser Programm ändern, um die Anzahl der Großbuchstaben in einem String zu zählen und dabei Leerzeichen, Zahlen und andere Nicht-Buchstaben-Zeichen zu ignorieren.
-
Öffnen Sie die Datei HelloJava.java
im WebIDE-Editor.
-
Ersetzen Sie den vorhandenen Code durch folgenden:
public class HelloJava {
public static void main(String[] args) {
String testString = "Hello Java 123";
int uppercaseCount = 0;
System.out.println("Counting uppercase letters in the string: \"" + testString + "\"");
for (int i = 0; i < testString.length(); i++) {
char currentChar = testString.charAt(i);
// Check if the character is a letter AND if it is uppercase
if (Character.isLetter(currentChar) && Character.isUpperCase(currentChar)) {
uppercaseCount++;
System.out.println("Found uppercase letter: '" + currentChar + "' at index " + i);
}
}
System.out.println("Total uppercase letters found: " + uppercaseCount);
}
}
In diesem Code:
- Wir initialisieren eine Ganzzahlvariable
uppercaseCount
mit 0.
- Innerhalb der Schleife fügen wir eine
if
-Bedingung hinzu: if (Character.isLetter(currentChar) && Character.isUpperCase(currentChar))
. Der &&
-Operator bedeutet "und". Diese Bedingung ist nur dann wahr, wenn sowohl Character.isLetter(currentChar)
als auch Character.isUpperCase(currentChar)
wahr sind.
- Wenn die Bedingung wahr ist, erhöhen wir
uppercaseCount
und geben eine Nachricht aus, die anzeigt, dass ein Großbuchstabe gefunden wurde.
- Nachdem die Schleife beendet ist, geben wir die Gesamtanzahl der gefundenen Großbuchstaben aus.
-
Speichern Sie die Datei (Strg+S oder Cmd+S).
-
Kompilieren Sie das Programm in der Terminal:
javac HelloJava.java
-
Führen Sie das kompilierte Programm aus:
java HelloJava
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
Counting uppercase letters in the string: "Hello Java 123"
Found uppercase letter: 'H' at index 0
Found uppercase letter: 'J' at index 6
Total uppercase letters found: 2
Diese Ausgabe zeigt, dass unser Programm korrekt nur die Großbuchstaben ('H' und 'J') identifiziert und gezählt hat und dabei die Kleinbuchstaben, Leerzeichen und Zahlen ignoriert hat.