Track
/
Java
Java
/
Esercizi
/
Lindo e pulito
Lindo e pulito

Lindo e pulito

Esercizio di apprendimento

Introduzione

Caratteri

I char

Il tipo primitivo char di Java è una rappresentazione a 16 bit di un singolo carattere. Più char possono comporre una stringa, come "word", oppure i char possono essere elaborati singolarmente. Un letterale char è racchiuso tra virgolette singole (ad esempio 'A').

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

Ottenere i char di una String

Il metodo String.toCharArray restituisce i char di una String come array. Come accennato negli array, puoi usare un ciclo for per iterare sull'array.

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

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

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

La classe Character

Ci sono molti metodi di libreria integrati per ispezionare e manipolare i char. Puoi trovarli come metodi statici della classe java.lang.Character. Ecco alcuni esempi:

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

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

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

Aggiungere un char a una String

L'operatore + può essere usato per aggiungere un char a una String.

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

Fai attenzione a non usare + per unire due char insieme per formare una String! Aggiungere due char in questo modo dà un int, non una String! Per esempio:

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

Questo perché Java promuove il char ad un int (vedi 4.2 Primitive Types and Values della Java Language Specification).

Tuttavia, quando ci sono molti caratteri da aggiungere, può essere più efficiente usare uno StringBuilder:

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

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

Istruzioni

In questo esercizio implementerai una serie parziale di routine di utilità per aiutare uno sviluppatore a ripulire i nomi SqueakyClean.

Nelle 4 attività costruirai gradualmente il metodo clean. Un nome SqueakyClean valido è composto da zero o più lettere e underscore.

In tutti i casi, la stringa di input è garantita non nulla. Tieni presente che il metodo clean deve considerare valida una stringa vuota.

1. Sostituisci con degli underscore tutti gli spazi incontrati

Implementa il metodo (static) SqueakyClean.clean() in modo che sostituisca qualsiasi spazio con un underscore. Questo vale anche per gli spazi iniziali e finali.

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

2. Converti il kebab-case in camelCase

Modifica il metodo (static) SqueakyClean.clean() in modo che converta il kebab-case in camelCase.

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

3. Converti il leetspeak in testo normale

Modifica il metodo (static) SqueakyClean.clean() in modo che converta il leetspeak in testo normale.

Per semplicità, sostituiremo solo 4, 3, 0, 1 e 7 rispettivamente con a, e, o, l e t.

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

4. Ometti i caratteri che non sono lettere

Modifica il metodo (static) SqueakyClean.clean() in modo che ometta tutti i caratteri che non sono lettere.

SqueakyClean.clean("a$#.b");
// => "ab"
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Java Exercism

Vuoi iniziare Lindo e pulito?

Iscriviti a Exercism per imparare e padroneggiare Java con 26 concetti158 esercizi e il mentoring di persone reali, tutto gratis.