package _6_6_经典范例;
//字符串的加解密
//将字符串转换成字符串数组,然后对每个字符进行加密操作,解密时进行相反的操作
public class _6_6_Example_1 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
String s="我爱Java";
char secret='雯';//密文字符
System.out.println("加密前字符串为:\n"+s);
String s1=_6_6_Example_1.UandT(s,secret);
System.out.println("加密后字符串为:\n"+s1);
System.out.println("解密后字符串为:\n"+UandT(s1,secret));
}
//对value进行加密,secret为密文字符
public static String UandT(String value,char secret){
//将需要加密的内容转换成字节数组
byte bt[]=value.getBytes();
for(int i=0;i<bt.length;i++){
bt[i]=(byte)(bt[i]^(byte)secret);//通过异或运算进行加密
}
return new String(bt,0,bt.length);//返回字符串
/*StringBuilder builder=new StringBuilder();
for(int i=0;i<bt.length;i++)
builder.append(bt[i]);
return builder.toString();*/
//为什么按照上面的写结构就不对呢
}
}
package _6_6_经典范例;
//验证字符串是否是回文
//可以把字符串反转复制,比较两个字符串相同位置的字符是否是相同的
public class _6_6_Example_2 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
String s1="黄山落叶松叶落山黄";
/*StringBuilder s2=new StringBuilder(s1);
s2.reverse();*///字符串反转函数啊
char charArray[]=s1.toCharArray();
StringBuilder s2=new StringBuilder();
for(int i=s1.length()-1;i>=0;i--)
s2.append(charArray[i]);
int count=0;
for(int i=0;i<s1.length();i++){
if(s1.charAt(i)!=s2.charAt(i)){
System.out.println("\""+s1+"\"不是回文序列");
break;
}
else
count++;
}
System.out.println("count="+count+" "+"s1.length()="+s1.length());
if(count==s1.length())
System.out.println("\""+s1+"\"是回文序列");
}
}