还剩3页未读,继续阅读
文本内容:
凯撒加密器
1、功能要求开发基于控制台的凯撒加密系统具体要求如下
(1)根据用户的选择从控制台待加密或解密的字符串如图-2和图-3所示
(2)根据凯撒加密法,对字符串进行加密或解密
(3)加密或解密完成后,把结果输出到控制台如图-4和图-5所示图-2操作选择界面图-3输入字符串界面图-4加密后的界面图-5解密后的界面
2、类的设计该系统中必须包括三个类输入台控制类SwitherEncryption字符串加密类Decryption字符串解密类
3、具体要求及推荐实现步骤
1、创建控制台控制类Switcher,用于和操作者交互
2、开发加密类Encryption使用凯撒加密法对字符串加密,并把加密后的结果返回给Switcher
3、开发解密类Dncryption使用凯撒加密法对字符串解密,并把解密后的结果返回给Switcher凯撒加密法,就是将字母表中的每个字母向后移动3位,比如a被替换成db被替换成f,以此类推字母表的最后三位xyz,会被替换为abc比如hello加密之后是khoor.对于拉丁字母之外的其他字符,一律不加密java源代码importjava.util.Scanner;publicclassTest{voidmj{Scannerin=newScannerSystem.in;System.out.print请选择操作(
1.加密
2.解密):;intn=in.nextInt;ifn==1{System.out.print请输入待加密的字符串;Stringstr=in.next;Stringjm=;intkey=3;forinti=0;istr.length;i++{charc=str.charAti;ifc=ac=z{ifc=xc=z{c-=26;c+=key;}else{c+=key;}}elseifc=Ac=Z{ifc=Xc=Z{c-=26;c+=key;}else{c+=key;}}jm+=c;}System.out.print加密后的字符串是+jm;System.out.print\n输入任意建继续,0结束程序;n=in.nextInt;ifn==0{System.out.print谢谢使用本程序,欢迎再次使用!;}else{this.mj;}}elseifn==2{System.out.print请输入待解密的字符串;Stringstr=in.next;Stringjm=;intkey=-3;forinti=0;istr.length;i++{charc=str.charAti;ifc=ac=z{ifc=ac=c{c+=26;c+=key;}else{c+=key;}}elseifc=Ac=Z{ifc=Ac=C{c+=26;c+=key;}else{c+=key;}}jm+=c;}System.out.println解密后的字符串+jm;System.out.print\n输入任意建继续,0结束程序;n=in.nextInt;ifn==0{System.out.print谢谢使用本程序,欢迎再次使用!;}else{this.mj;}}else{System.out.print请输入1或2,其他字符无效!\n输入任意建继续,0结束程序;n=in.nextInt;ifn==0{System.out.print谢谢使用本程序,欢迎再次使用!;}else{this.mj;}}}publicstaticvoidmainString[]args{Testmj=newTest;System.out.println******欢迎使用凯撒加密器******;mj.mj;}}。