判断基数、偶数和加密

来源:互联网 发布:php 随机数 编辑:程序博客网 时间:2024/04/29 14:15

package zzuli.odd;
/**======================================
 * System Name:StringTest
 * SubSystem Name:
 * --------------------------------------
 * Create Date/Change History
 * --------------------------------------
 * 2008/09/05 WULIANG Create

 * result:是偶数
 *           佤她吓;戕後她
 *           你好吗?我很好
 * --------------------------------------
 */
public class OddDecider {
 /**
  * @param args
  */
 public static void main(String[] args) {
  OddDecider od = new OddDecider();
  int a = 6;
  String str = "你好吗?我很好";
  //测试基偶数
  if(od.odd(a)){
   System.out.println("该数是基数");
  }else{
   System.out.println("是偶数");
  }
  //测试加密
  System.out.println(""+od.secret(str));
  System.out.println(" "+od.secret(od.secret(str)));
 }
 /**
  * 判断一个数是否是基数。原理:基数的数值若以二进制来表示,
  * 最右边的位必为1而偶数最右边的位必为0,所以使用与输入的值做
  * AND运算1&1=1,1&0=0,0&0=0
  * 如:整数4:00000100   整数3: 00000011
  *   整数1:00000001   整数1: 00000001
  *    AND => 00000000    3&1 = 00000001
  * @param a 传入的值
  * @return 返回一个布尔型,返回true则是基数,返回false则是偶数
  */
 public boolean odd(int a){
  return (a&1)!= 0;
 }
 /**
  * 用于加密机制
  * @param str 输入的字符串
  * @return 返回一个加密的字符串,可以称为乱码了
  */
 public String secret(String str){
  //定义存放字符的数组
  char ch[] = new char[str.length()];
  //定义接收字符串的数组
  String s = "";
  //存放到数据
  for(int i=0;i<str.length();i++){
   ch[i]= (char)((char)(str.charAt(i))^4);
  }
  //将转换成字符串
  for(int i=0;i<str.length();i++){
   s += ch[i];
  }
  return s;
 }  
}

原创粉丝点击