TheSixthWeekJavaText
加密文档
实验要求编写一个算法加密一串英文字串。
设计思想:对于一个字符串,我们可以用String.charAt()方法依次取出其中的字符元素,组成一个字符数组。由于字符可以转化为short类型变量进行计算,所有将从字符串中取出的字符经过一个特定的运算后在转化为char类型,然后覆盖原来的字符变量。将字符数组中的每一个字符都经过相同的转化方式,然后用这个字符数组初始化一个字符串,输出这个字符串,便是加密后的字符串。当需要解密的时候,只需要取出去每个字符进行相反的运算就行了。
程序流程图:

程序源代码:
import javax.swing.JOptionPane;
public class A_classTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = JOptionPane.showInputDialog(null);
char arry[] = new char[str.length()];
arry = str.toCharArray();
for(int i = 0; i < str.length(); i++){
short x = (short)arry[i];
x += 20;
if(x > 'z')
x -= 26;
arry[i] = (char)x;
}
String str1 = new String(arry);
JOptionPane.showMessageDialog(null, str1,"加密后为",JOptionPane.INFORMATION_MESSAGE);
}
}
实验结果截图:


String.equals()方法的源代码:
|
public boolean equals(Object anObject) { //判断是否是和自己比较 if (this == anObject) return true; } //判断传过来的anObject是否是String类型的实例 if (anObject String int n = if (n == char v1[] = char v2[] = int i = 0; //逐个字符进行比较 while (n-- != 0) if (v1[i] != return false; i++; } return true; } } return false; } |
在判断两个字符串是否相等的时候,首先判断这两个字符创是否符合“==”的条件。然后判断两个字符串长度是否相等,长度不相等的字符串当然不会相等。然后逐个字符逐个字符比较两个字符串中是否有不相同的字符,只要有一个不相等的字符出现,结束比较,放回false。
String类中的一些方法的使用方法:
length():返回字符串的长度。调用时必须以String类的实例对象调用,例如str.length()。
charAt():去字符串中指定位置上的字符,括号中的参数范围是0到字符串长度减一。
getChars():将字符串中的部分字符存到一个字符数组中。该方法有4个参数,参数列表为int srcBegin,int srcEnd,char[] dst, int dstBegin, 参数列表表示取本字符串中位置下标为srcBegin开始到位置下标为srcEnd-1结束的所有字符,字符放在字符数组dst中位置下标为dstBegin开始的后续位置。
replace():字串替换,参数列表:charsequence target,charsequence replacement;
target表示本子符串中需要特换的子字符串,replacement表示代替的字符串。替换过程从本字符串的开始到末尾中所有符和条件的子字符串。
toUpperCase():将本字符串中的所有字符都转化为大写字符。
toLowerCase():将本字符串中的所有字符都转化为小写字符。
trim():
去除本字符串头尾的空字符。
toCharArray():将本字符串转化为一个字符数组。
TheSixthWeekJavaText的更多相关文章
随机推荐
- JAVA-读取文件部分内容计算HASH值
对于一些大文件,有时会需要计算部分内容的Hash,下面的函数计算了 文件头尾各1M,中间跳跃100M取10K 以及文件大小的Hash值 public static String CalHash(Str ...
- $(window).height() 文档高度问题
遇到一个这样的问题: 有个项目做的好好的,测试时一步一步小心过来,做了一段时间后,发现前面的完成的功能出了问题了 首先描述下出问题的功能: 做滚动条下拉加载的时候用的网上找的一种方法 $(window ...
- 解决TXT乱码问题
初装Ubuntu,打开windows保存的txt文件很可能会遇到各种乱码问题. 下面是wiki ubuntu里的解决办法: Gedit中文乱码 缺省配置下,用 Ubuntu 的文本编辑器(gedit) ...
- android jni ndk 视频分享
链接如下:http://download.csdn.net/detail/jltxgcy/5667327.
- x86中的页表结构和页表项格式
一.页表结构 分页转换功能由驻留在内存中的表来描述,该表称为页表(page table),存放在物理地址空间中.页表可看做简单的220个物理地址数组.线性到物理地址的映射功能可以简单地看做进行数组查找 ...
- [翻译]Webpack解惑
本文译自Webpack - The Confusing Parts,原文需FQ. Webpack现在是React应用程序标配的模块打包器,我估计Angular2和其他框架的用户也在大规模使用.我第一次 ...
- 解决 jQuery.UI.Resizable aspectRatio在init后无法重新设置
一.背景 在jQuery1.9.x版本之前,存在aspectRatio在Resizable方法init之后,无法再次修改aspectRatio的boolean值. 二.解决方案 // 用于fix j ...
- CentOS7安装完毕,重新开机启动后显示: Initial setup of CentOS Linux 7 (core)
CentOS7安装完毕,重新开机启动后显示: Initial setup of CentOS Linux 7 (core) 1) [x] Creat user 2) [!] License infor ...
- 【锋利的Jquery】读书笔记四
jquery中的事件及动画 一.事件 页面加载 $(document).ready(function(){xxxxx}) 简写 $(function(){ //do something }) 元素绑定 ...
- To the end
身为一名初二狗的我也走过了半年.不管怎么说人生中也没有几个半年嘛.从九月到现在快四个月了,我也离中考越来越近了/郁闷/.但是还是要好好过唔.不过我想起这半学期还是挺充实的,至少没有浪费太多的时间.有些 ...