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+"\"是回文序列"); } }