加密程序
今天做了一道加密題,具體加密方法是這樣的
?
?
設(shè)計(jì)思路很簡(jiǎn)單,用戶輸入一個(gè)字符串,把它的每個(gè)字符都裝到一個(gè)臨時(shí)數(shù)組里,然后做ascii碼+3或-3的運(yùn)算,在頭和尾的單獨(dú)考慮即可。之后將數(shù)組的元素轉(zhuǎn)為字符串型輸出。
源代碼:
//jeson 加解密碼程序 2015/10/24
import java.util.*;
?
public class Mima {
?
??? public static void main(String args[])
??? {
??????? System.out.println("請(qǐng)輸入所需操作:加密-1,解碼——2");
??????? int xuanze;
??????? Scanner sca=new Scanner(System.in);
??????? xuanze=sca.nextInt();
??????? if(xuanze==1)
??????? {
??????????? System.out.println("請(qǐng)輸入所需加密字符串");
??????????? String zifuchuan=new String();
??????????? zifuchuan=sca.next();
??????????? char out[]=new char[zifuchuan.length()];
??????????? for(int i=0;i<zifuchuan.length();i++)
??????????? {
??????????????? if(zifuchuan.charAt(i)>='A'&&zifuchuan.charAt(i)<='W')
??????????????? {
??????????????????? out[i]=(char) (zifuchuan.charAt(i)+3);
??????????????? }
??????????????? if(zifuchuan.charAt(i)=='X')? out[i]='A';
??????????????? if(zifuchuan.charAt(i)=='Y')? out[i]='B';
??????????????? if(zifuchuan.charAt(i)=='Z')? out[i]='C';
???????????????
??????????? }
??????????? //將數(shù)組轉(zhuǎn)化為字符串
??????????? String linshi=new String();
??????????? for(int w=0;w<zifuchuan.length();w++)
??????????? {
??????????????? linshi=out[w]+linshi;
??????????? }
??????????? System.out.println("字符串加密后為"+linshi);
??????? }
???????
???????
??????? if(xuanze==2)
??????? {
??????????? System.out.println("請(qǐng)輸入所需解密字符串");
??????????? String zifuchuan=new String();
??????????? zifuchuan=sca.next();
??????????? char out[]=new char[zifuchuan.length()];
??????????? for(int i=0;i<zifuchuan.length();i++)
??????????? {
??????????????? if(zifuchuan.charAt(i)>='D'&&zifuchuan.charAt(i)<='Z')
??????????????? {
??????????????????? out[i]=(char) (zifuchuan.charAt(i)-3);
??????????????? }
??????????????? if(zifuchuan.charAt(i)=='C')? out[i]='Z';
??????????????? if(zifuchuan.charAt(i)=='B')? out[i]='Y';
??????????????? if(zifuchuan.charAt(i)=='A')? out[i]='X';
???????????????
??????????? }
??????????? //將數(shù)組轉(zhuǎn)化為字符串
??????????? String linshi=new String();
??????????? for(int w=0;w<zifuchuan.length();w++)
??????????? {
??????????????? linshi=out[w]+linshi;
??????????? }
??????????? System.out.println("字符串解密后為"+linshi);
??????? ??
??????? }
???????
?
??? }
}
?
截圖:
轉(zhuǎn)載于:https://www.cnblogs.com/hehejeson/articles/4906603.html
總結(jié)
- 上一篇: 《大道至简》第四章内容总结
- 下一篇: JAVA中String的一些常用函数用法