public class demo02 {
static public String[] SminLetter={"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
static public String[] SmaxLetter={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
public static void main(String[] args) {
String test="abc dz";
encryption(test);
String test1="bcd ea";
cryption(test1);
String test2="i lo";
scrollEncryption(test2);
String test3="j os";
scrollCryption(test3);
}
public static int isIn(String[] arr,char temp1){
String temp=String.valueOf(temp1);
int result = -1;
for (int j = 0; j < arr.length; j++) {
if (arr[j].equals(temp)) {
result = j;
break;
}
}
return result;
}
//加密
public static void encryption(String test){
StringBuilder sb=new StringBuilder(test);
for (int i = 0; i < test.length(); i++) {
if (isIn(SminLetter,test.charAt(i))!=-1){
sb=sb.replace(i,i+1,SminLetter[(isIn(SminLetter,test.charAt(i))+1)%26]);
}else if (isIn(SmaxLetter,test.charAt(i))!=-1){
sb=sb.replace(i,i+1,SmaxLetter[(isIn(SmaxLetter,test.charAt(i))+1)%26]);
}else if (test.charAt(i)==' '){
continue;
}
}
System.out.println(sb);
}
//解密
public static void cryption(String test){
StringBuilder sb=new StringBuilder(test);
for (int i = 0; i < test.length(); i++) {
if (isIn(SminLetter,test.charAt(i))!=-1){
sb=sb.replace(i,i+1,SminLetter[(isIn(SminLetter,test.charAt(i))+25)%26]);
}else if (isIn(SmaxLetter,test.charAt(i))!=-1){
sb=sb.replace(i,i+1,SmaxLetter[(isIn(SmaxLetter,test.charAt(i))+25)%26]);
}else if (test.charAt(i)==' '){
continue;
}
}
System.out.println(sb);
}
//滚动加密
public static void scrollEncryption(String test){
StringBuilder sb=new StringBuilder(test);
for (int i = 0; i < test.length(); i++) {
if (isIn(SminLetter,test.charAt(i))!=-1){
sb=sb.replace(i,i+1,SminLetter[(isIn(SminLetter,test.charAt(i))+1+i)%26]);
}else if (isIn(SmaxLetter,test.charAt(i))!=-1){
sb=sb.replace(i,i+1,SmaxLetter[(isIn(SmaxLetter,test.charAt(i))+1+i)%26]);
}else if (test.charAt(i)==' '){
continue;
}
}
System.out.println(sb);
}
//滚动解密
public static void scrollCryption(String test){
StringBuilder sb=new StringBuilder(test);
for (int i = test.length()-1; i >=0; i--) {
if (isIn(SminLetter,test.charAt(i))!=-1){
sb=sb.replace(i,i+1,SminLetter[(isIn(SminLetter,test.charAt(i))+25-i)%26]);
}else if (isIn(SmaxLetter,test.charAt(i))!=-1){
sb=sb.replace(i,i+1,SmaxLetter[(isIn(SmaxLetter,test.charAt(i))+25-i)%26]);
}else if (test.charAt(i)==' '){
continue;
}
}
System.out.println(sb);
}
}