admin 管理员组文章数量: 887021
2023年12月22日发(作者:listat什么意思)
Java语言程序设计A实验指导
实验二
一、实验目的
1. 掌握Java数组的基本操作。
恺撒密码
2.掌握String类的生成、访问、修改等基本操作;
3.掌握StringBuffer类的生成、访问、修改等基本操作。
4. 掌握 Pattern和Matcher对象的用法,以及正则表达式的应用
二、实验要求
1.正确地定义数组;
2.正确对数组元素进行赋值、排序。
3.正确使用String类的方法;
4.正确使用StringBuffer类的方法。
5. 正确书写正则表达式和使用Pattern和Matcher对象
三、实验环境
1.计算机一台;
2.JDK、MyEclipse工具软件。
四、实验内容
1.编写Application程序,实现凯撒密码,输入明文自动输出相应的密文。
五、实验步骤
1.处理输入,每次读入一行。
2.将该行转换为字符数组,依次处理每个字符,英文字母转换成相应的密文,其他字符(如标点符号)的密文和明文相同。
3. 整体输出该行的密文。
4. 选作:允许用户扩展凯撒密码,指定字符替换的规则,即可以输入密钥
六、凯撒密码介绍
凯撒密码是一种非常古老的加密方法,相传当年凯撒大地行军打仗时为了保证自己的命令不被敌军知道,就使用这种特殊的方法进行通信,以确保信息传递的安全。他的原理很简单,说到底就是字母于字母之间的替换。下面让我们看一个简单的例子:“baidu”用凯撒密码法加密后字符串变为“edlgx”,它的原理是什么呢?把“baidu”中的每一个字母按字母表顺序向后移3位,所得的结果就是刚才我们所看到的密文。
七、实验结果
源代码为:
package youximima;
import .*;
public class Mima {
1
Java语言程序设计A实验指导
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//Scanner s =new Scanner();
n("凯萨密码!");
n("请输入一串字符!");
int k=1;
while(k==1){
n("凯撒密码法加密后的字符串为:");
Scanner s =new Scanner();
String c=ne();
int i=();
if(i<=10)
{char a[]=Array();
n(a);
for(int j=0;j<;j++)
{ if(a[j]>='a'&&a[j]<='z')
if(a[j]=='x')a[j]='a';
else if(a[j]=='y')a[j]='b';
else if(a[j]=='z')a[j]='c';
else a[j]+=3;
if(a[j]>='A'&&a[j]<='Z')
if(a[j]=='X')a[j]='A';
else if(a[j]=='Y')a[j]='B';
else if(a[j]=='Z')a[j]='C';
else a[j]+=3;
}
("原文为:");
n(a);
}
}
else n("密码个数超过限制范围!");
n("需要继续吗? 若继续请按1, 退出按0!");
int m=t();k=m;
}
n("欢迎下次使用!");
}
结果为:
凯萨密码!
请输入一串字符!
凯撒密码法加密后的字符串为:
alk12@#xz
2
Java语言程序设计A实验指导
alk12@#xz
原文为:don12@#ac
需要继续吗? 若继续请按1, 退出按0!
1
凯撒密码法加密后的字符串为:
sjkfJKJ%^YZ
密码个数超过限制范围!
需要继续吗? 若继续请按1, 退出按0!
1
凯撒密码法加密后的字符串为:
SFJ*8^knyz
SFJ*8^knyz
原文为:VIM*8^nqbc
需要继续吗? 若继续请按1, 退出按0!
0
欢迎下次使用!
3
版权声明:本文标题:恺撒密码实验报告 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1703223820h442950.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论