`
_jia_shun
  • 浏览: 25234 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

_6_6_经典范例

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

}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics