Ecrire un programme de codage d'une chaine

lolycode -  
 SequencerX -
Bonjour,
je ne comprend pas ce qu'il faire
pour cet exercice de codage voici ce qu'on demande

Ecrire un programme permettant d’effectuer le codage d’une chaîne en utilisant la formule C(x)=inv(x). Inv(x) associe à la lettre x la lettre occupant le même numéro en considérant l’ordre inverse de l’alphabet Français.

merci
A voir également:

1 réponse

SequencerX
 
Pour "A" (lettre 1), la fonction doit te renvoyer "Z" (lettre 1 dans l'alphabet inversé)
Pour "B", elle doit renvoyer "Y"
...
Pour "Z", elle doit renvoyer "A"

En java, tu peux faire :

private String inv(String s) {
if (s == null)
return null;
char c;
int len = s.length();
char[] out = new char[len];
for (int i=0; i<len; i++) {
c = s.charAt(i);
if ((c >= 'a') && (c <= 'z'))
out[i] = (char)('a' + Math.abs(25 - (s.charAt(i) - 'a')));
else if ((c >= 'A') && (c <= 'Z'))
out[i] = (char)('A' + Math.abs(25 - (s.charAt(i) - 'A')));
}
return new String(out);
}

// Cette fonction gère les caractères ASCII majuscules et minuscules (pas
// les caractères accentués)
// Pour l'appeler :

String s1 = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String s2 = "Voici mon test";
System.out.println("Test 1: " + inv(s1));
System.out.println("Test 2: " + inv(s2));

// résultats :
//
// Test 1: zyxwvutsrqponmlkjihgfedcba ZYXWVUTSRQPONMLKJIHGFEDCBA
// Test 2: Elrxr nlm gvhg
0