一、字串加密
设计思想:利用switch语句分辨即将进行的是加密还是解密操作;而后将用户输入的字符串转化为字符数组,利用字符对应的ASCII码值进行加密操作,反之即为解密操作;
程序流程图:
源代码:
import javax.swing.JOptionPane;
public class Complication {
public static void main(String args[]){
String i=JOptionPane.showInputDialog("请选择要进行的操作:1、加密;2、解密");//用户选择操作类型
int p=0;
int n=Integer.parseInt(i);
switch(n){
case 1: String x=JOptionPane.showInputDialog("请输入要加密的字符串");//输入徐要加密的字符串
char[] t=x.toCharArray();//将字符串转化为字符数组
for(p=0;p<t.length;p++){//对字符数组利用ASCII码进行加密
if(t[p]>='A'&&t[p]<='W'){//分情况为字符数组加密
t[p]=(char)(t[p]+3);
}
else{
t[p]=(char)(t[p]-23);
}
}
JOptionPane.showMessageDialog(null,"加密后的字符串为:"+String.valueOf(t));//输出结果
break;
case 2: String y=JOptionPane.showInputDialog("请输入要解密的字符串");
char[] k=y.toCharArray();
for(p=0;p<k.length;p++){
if(k[p]>='D'&&k[p]<='Z'){
k[p]=(char)(k[p]-3);
}
else{
k[p]=(char)(k[p]+23);
}
}
JOptionPane.showMessageDialog(null,"加密后的字符串为:"+String.valueOf(k));
break;
}
}
}
结果截图:
二、动手动脑
1、String.equals()方法
此方法将字符串与指定的对象比较。当且仅当参数不为null,并且是一个String对象其结果是true,它表示此对象的字符有相同的序列。
示例:
String s1 = new String("Hello World");
String s2 = new String("Hello World");
System.out.println(s1.equals(s2));//true
2、整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()的使用说明
答:Length()为求某一字符串的长度,例如a=Length(t),即a=字符串t的长度;
charAt()为取得字符串中的某一元素,例如char a=t.charAt(3),即a=字符串t中的第四个元素;
getChars()为将某一字符串中的某几个元素放进另外一个字符串中,例如:a.getChars(0,3,t,1)即为将a中的前三个字元存放到t[1]到t[3]中;
replace()用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串,例如:stringObject.replace(regexp/substr,replacement),是用 replacement 替换了 regexp 的第一次匹配或所有匹配。
toUpperCase()用于将一个大写字符串转化为小写字符串;
toLowerCase()用于将一个大写字符串转换为小写字符串;
trim()用于去掉字符串收尾空格;
toCharArray()用于将一个字符串转化为一个新的字符数组。.