Java-字符串加密
1设计思想:
改程序是对小写的a到z进行加密,输入一段字符串str,输入加密的密匙k,判断录入的的字符与
‘z’-k+1的大小,比其小的直接加上密匙转化为新的字符,大于的加(k-26)将最后几位字符转到
开头,实现字符串的加密,解密反之。
2程序流程图:
3.源代码:
//本程序对小写a到z的字符加密 //信1603 李敦岳 20163520 //2017.10.26 package zuoye; import java.util.Scanner; public class Ceaser { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in=new Scanner(System.in); System.out.println("请输入要加密信息"); String str=in.nextLine(); System.out.println("请输入加密密匙"); int k=in.nextInt(); Jiami(str,k); Scanner ou=new Scanner(System.in); System.out.println("请输入要解密信息"); String str1=ou.nextLine(); System.out.println("请输入加密密匙"); int y=ou.nextInt(); Jiemi(str1,y); } static void Jiami(String a,int k) { int b=a.length(); for(int i=0;i<a.length();i++) { if(a.charAt(i)<('z'-k+1)) { System.out.print((char)(a.charAt(i)+k)); } if(a.charAt(i)>=('z'-k+1)) { System.out.print((char)(a.charAt(i)-26+k)); } } } static void Jiemi(String b,int k) { for(int i=0;i<b.length();i++) { if(b.charAt(i)<('a'+k)) { System.out.print((char)(b.charAt(i)+26-k)); } if(b.charAt(i)>=('a'+k)) { System.out.print((char)(b.charAt(i)-k)); } } } }
4结果截图: