Wie untersuche ich ob ein String Großbuchstaben hat? Habe nur Schleifen zur Auswahl wie if, while, for und ascii?

4 Antworten

Du kannst einfach prüfen, ob der Satz gleich bleibt, wenn du ihn in Kleinbuchstaben umwandelst:

if (satz.toLowerCase().equals(satz)) {
	System.out.println("Nur Kleinbuchstaben");
} else {
	System.out.println("Der Satz enthält Großbuchstaben");
}

oder du prüfst per RegEx, ob der Satz Großbuchstaben enthält:

if (satz.matches(".*?[A-Z].*")) {
	System.out.println("Der Satz enthält Großbuchstaben");
} else {
	System.out.println("Nur Kleinbuchstaben");
}

Du kannst deinen String als char durchlaufen. Damit prüfst du jeden einzelnen Buchstaben.

for(char c : deinString)

Und darin Knast du dann prüfen:

if (c == c.toUpperCase())

Und dann immer wenn es ein Großbuchstabe ist, dann geht es in die If... Entweder du benutzt eine Methode mit einem Return oder eine bool, womit du am Ende den Check machst

C kann jeder Buchstabe sein, mit uppercase wird es zum Großbuchstaben. Das einzige Problem sind zahlen und Sonderzeichen, diese müsste man in diesem Fall mit einem weiteren If oder einen "und" doppelprüfen ...

Ich würde dir aber Regex empfehlen:

Dann prüfst du einfach ob [A-Z] ein Match findet und fertig

Da gibt es mehrere Möglichkeiten. Je nachdem welche Bibliothek dir die Sprache zur Verfügung stellt, kannst du z.B. den String mit einer Schleife durchlaufen und den Wert auf Index 0 mit der Funktion StringIsUpper vergleichen. Ist der Rückgabewert gleich 1 handelt es sich um einen Großbuchstaben, beim Rückgabewert gleich 0 ist es ein Kleinbuchstabe.

Woher ich das weiß:Berufserfahrung

Erstmal: if und ascii sind keine Schleifen.

Für den Rest:

  1. Ein char kann implizit in einen int konvertiert werden.
  2. Großbuchstaben gehen von 'A' bis 'Z'.
  3. Ein boolean als Flag ist hierbei eine der zwei üblichsten Lösungen.
Xearox  28.09.2021, 09:13

Wenigstens einer, der das anspricht, dass If keine Schleife ist 😂😂😂

1