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';
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
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
char a una String
L'operatore + può essere usato per aggiungere un char a una String.
'a' + " banana" // => "a banana"
"banana " + 'a' // => "banana a"
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
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.
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"
Modifica il metodo (static) SqueakyClean.clean() in modo che converta il kebab-case in camelCase.
SqueakyClean.clean("a-bc");
// => "aBc"
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"
Modifica il metodo (static) SqueakyClean.clean() in modo che ometta tutti i caratteri che non sono lettere.
SqueakyClean.clean("a$#.b");
// => "ab"
Iscriviti a Exercism per imparare e padroneggiare Java con 26 concetti158 esercizi e il mentoring di persone reali, tutto gratis.