cours-info/CesarChiffre.java

29 lines
747 B
Java
Raw Normal View History

2019-06-01 15:36:27 +00:00
import static utils.Utils.*;
public class CesarChiffre {
public static final void main(String[] args) {
afficher("Chiffre de César - chiffrement");
testCesar(CesarChiffre::cesar, true);
}
2019-06-01 16:23:06 +00:00
public static char[] cesar(char[] in, int cle) {
2019-06-01 15:36:27 +00:00
// Pour le caractère espace, pas de transformation
2019-06-01 16:23:06 +00:00
// ALPHABET est un tableau des caractères de l'alphabet dans l'ordre
// int position(char c): retourne la position de la lettre dans l'alphabet
// (à partir de 0)
2019-06-01 15:36:27 +00:00
2019-06-01 16:23:06 +00:00
char[] out = new char[in.length];
for (int i = 0; i<in.length; i++) {
char c = in[i];
if (c == ' ') {
out[i] = c;
} else {
out[i] = ALPHABET[(position(c)+cle) % ALPHABET.length];
}
}
return out;
2019-06-01 15:36:27 +00:00
}
}