Java加密作业
一、古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报: 请编写一个程序,使用上述算法加密或解密用户输入的英文字串。
程序设计思想:
首先用户输入需要加密的字符串,然后定义函数获得字符串长度,通过for循环将字符串转化为单个字符,每个字符“+3”,向后移3个,每个字符“-3”,向前移3个,定义str2,将新得到的每个字符赋到str2,得到加密后的英文字符串str2,定义str3,将新得到的每个字符赋到str3,得到解密后的英文字符串str3,输出加密后的子串str2,输出解密后的子串str3
程序源代码:
package demo; import java.util.Scanner; public class Mi { public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner scan=new Scanner(System.in); System.out.println("需要加密的电报是:"); String str; str=scan.nextLine();//nextLine函数接受数据 int length; length=str.length(); String str1=new String(); String str2=new String(); String str3=new String(); char chuan; char qian,hou; for(int i=0;i<length;i++) { str1=str.substring(i,i+1); chuan=str1.charAt(0); qian=(char)(chuan+3); hou=(char)(chuan-3); str2=qian+str2; str3=hou+str3; } System.out.println("加密后的电报为:"+str2); System.out.println("解密后的电报为:"+str3); } }
程序运行结果截图: