Tracks
/
Java
Java
/
Übungen
/
Blitzsauber
Blitzsauber

Blitzsauber

Lernübung

Einführung

Zeichen

Zeichen

Der primitive Typ char in Java ist die 16-Bit-Darstellung eines einzelnen Zeichens. Mehrere char können zusammen einen String ergeben, wie "word", oder char können einzeln verarbeitet werden. Ein char-Literal steht zwischen einfachen Anführungszeichen (z. B. 'A').

char lowerA = 'a';
char upperB = 'B';

Die chars eines String ermitteln

Die Methode String.toCharArray gibt die chars eines String als Array zurück. Wie schon bei den Arrays erwähnt, kannst du eine for-Schleife verwenden, um über das Array zu iterieren.

String text = "Hello";
char[] asArray = text.toCharArray();

for (char ch: asArray) {
    System.out.println(ch);
}

// Outputs:
// H
// e
// l
// l
// o

Die Klasse Character

Es gibt viele eingebaute Bibliotheksmethoden, um chars zu untersuchen und zu bearbeiten. Diese findest du als statische Methoden der Klasse java.lang.Character. Hier sind einige Beispiele:

Character.isWhitespace(' ');    // true
Character.isWhitespace('#');    // false

Character.isLetter('a');        // true
Character.isLetter('3');        // false

Character.isDigit('6');         // true
Character.isDigit('?');         // false

Ein char zu einem String hinzufügen

Mit dem Operator + kannst du ein char zu einem String hinzufügen.

'a' + " banana"     // => "a banana"
"banana " + 'a'     // => "banana a"
Caution

Pass auf, dass du + nicht verwendest, um zwei chars zu einem String zusammenzufügen! Wenn du zwei chars so addierst, erhältst du ein int, nicht einen String! Zum Beispiel:

'b' + 'c';
// => 197 (not the String "bc")

Das liegt daran, dass Java das char zu einem int hochstuft (siehe 4.2 Primitive Typen und Werte der Java Language Specification).

Wenn jedoch viele Zeichen hinzugefügt werden sollen, kann es effizienter sein, stattdessen einen StringBuilder zu verwenden:

StringBuilder builder = new StringBuilder();
builder.append('a');
builder.append('b');
builder.append('c');

String builtString = builder.toString();
// => abc

Anleitung

In dieser Übung implementierst du eine Teilmenge von Hilfsroutinen, die einem Entwickler helfen, SqueakyClean-Namen zu bereinigen.

In den 4 Aufgaben baust du nach und nach die Methode clean auf. Ein gültiger SqueakyClean-Name besteht aus null oder mehr Buchstaben und Unterstrichen.

In allen Fällen ist garantiert, dass der übergebene String nicht null ist. Beachte, dass die Methode clean einen leeren String als gültig behandeln sollte.

1. Ersetze alle vorkommenden Leerzeichen durch Unterstriche

Implementiere die (statische) Methode SqueakyClean.clean(), um alle Leerzeichen durch Unterstriche zu ersetzen. Das gilt auch für führende und nachfolgende Leerzeichen.

SqueakyClean.clean("my   Id");
// => "my___Id"

2. Wandle Kebab-Case in camelCase um

Ändere die (statische) Methode SqueakyClean.clean(), um Kebab-Case in camelCase umzuwandeln.

SqueakyClean.clean("a-bc");
// => "aBc"

3. Wandle Leetspeak in normalen Text um

Ändere die (statische) Methode SqueakyClean.clean(), um Leetspeak in normalen Text umzuwandeln.

Der Einfachheit halber ersetzen wir nur 4, 3, 0, 1 und 7 durch a, e, o, l bzw. t.

SqueakyClean.clean("H3ll0 W0rld");
// => "Hello_World"
SqueakyClean.clean("4 73s7");
// => "a_test"

4. Lasse Zeichen weg, die keine Buchstaben sind

Ändere die (statische) Methode SqueakyClean.clean(), um alle Zeichen wegzulassen, die keine Buchstaben sind.

SqueakyClean.clean("a$#.b");
// => "ab"
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Java Exercism

Bereit, mit Blitzsauber zu starten?

Melde dich bei Exercism an, um Java mit 26 Konzepte158 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.