char
char
Le type primitif char de Java est une représentation sur 16 bits d'un seul caractère.
Plusieurs char peuvent constituer une string, comme "word", ou bien les char peuvent être traités indépendamment.
Un littéral char est entouré de guillemets simples (par exemple 'A').
char lowerA = 'a';
char upperB = 'B';
char d'une String
La méthode String.toCharArray renvoie les char d'une string sous forme de tableau.
Comme mentionné dans la partie sur les tableaux, on peut utiliser une boucle for pour parcourir le tableau.
String text = "Hello";
char[] asArray = text.toCharArray();
for (char ch: asArray) {
System.out.println(ch);
}
// Outputs:
// H
// e
// l
// l
// o
Il existe de nombreuses méthodes intégrées à la bibliothèque pour inspecter et manipuler des char.
On les trouve sous forme de méthodes statiques de la classe java.lang.Character.
Voici quelques exemples :
Character.isWhitespace(' '); // true
Character.isWhitespace('#'); // false
Character.isLetter('a'); // true
Character.isLetter('3'); // false
Character.isDigit('6'); // true
Character.isDigit('?'); // false
char à une String
L'opérateur + peut servir à ajouter un char à une string.
'a' + " banana" // => "a banana"
"banana " + 'a' // => "banana a"
Fais bien attention à ne pas utiliser + pour joindre deux char afin de former une string !
Additionner deux char de cette façon donne un int, pas une string !
Par exemple :
'b' + 'c';
// => 197 (not the String "bc")
En effet, Java promeut le char en int (voir 4.2 Primitive Types and Values de la Java Language Specification).
Cependant, lorsqu'il y a beaucoup de caractères à ajouter, il peut être plus efficace d'utiliser un StringBuilder à la place :
StringBuilder builder = new StringBuilder();
builder.append('a');
builder.append('b');
builder.append('c');
String builtString = builder.toString();
// => abc
Dans cet exercice, tu vas implémenter un ensemble partiel de routines utilitaires pour aider un développeur à nettoyer des noms SqueakyClean.
Au fil des 4 tâches, tu vas construire progressivement la méthode clean.
Un nom SqueakyClean valide est composé de zéro ou plusieurs lettres et tirets bas.
Dans tous les cas, la string en entrée est garantie non nulle. Note que la méthode clean doit considérer une string vide comme valide.
Implémente la méthode (static) SqueakyClean.clean() pour remplacer les espaces par des tirets bas. Cela vaut aussi pour les espaces en début et en fin de chaîne.
SqueakyClean.clean("my Id");
// => "my___Id"
kebab-case en camelCase
Modifie la méthode (static) SqueakyClean.clean() pour convertir le kebab-case en camelCase.
SqueakyClean.clean("a-bc");
// => "aBc"
Modifie la méthode (static) SqueakyClean.clean() pour convertir le leetspeak en texte normal.
Pour simplifier, on ne remplacera que 4, 3, 0, 1 et 7 par a, e, o, l et t, respectivement.
SqueakyClean.clean("H3ll0 W0rld");
// => "Hello_World"
SqueakyClean.clean("4 73s7");
// => "a_test"
Modifie la méthode (static) SqueakyClean.clean() pour omettre tous les caractères qui ne sont pas des lettres.
SqueakyClean.clean("a$#.b");
// => "ab"
Inscris-toi sur Exercism pour apprendre et maîtriser Java avec 26 concepts158 exercices, et un vrai mentorat humain, le tout gratuitement.