39 lines
896 B
Java
39 lines
896 B
Java
package questioncomplementaire;
|
|
|
|
public class Cesar extends AlgoCodage{
|
|
private int decalage;
|
|
private String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
|
|
public Cesar(int decalage){
|
|
this.nom = "César";
|
|
this.decalage = decalage;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "codage de César (décalage=" + decalage + ")";
|
|
}
|
|
|
|
@Override
|
|
public String encode(String s) {
|
|
String encode = "";
|
|
for(int i=0;i<s.length();i++){
|
|
encode += alphabet.charAt((decalage +
|
|
alphabet.indexOf(s.charAt(i)))%alphabet.length());
|
|
}
|
|
return encode;
|
|
}
|
|
|
|
@Override
|
|
public String decode(String s) {
|
|
String decode = "";
|
|
int index;
|
|
for(int i=0; i<s.length(); i++) {
|
|
index = (alphabet.indexOf(s.charAt(i))-decalage) % alphabet.length();
|
|
index += (index<0)?alphabet.length():0;
|
|
decode += alphabet.charAt(index);
|
|
}
|
|
return decode;
|
|
}
|
|
}
|