对内容进行加密用 ^ ;
例如:
public class jiami{
public static void main(String[] args){
//原文
char ch1='十';
char ch2='点';
char ch3='进';
char ch4='攻';
System.out.println("加密前原文原文:"+ch1+ch2+ch3+ch4);
//对内容进行加密
char secret='8';
ch1=(char)(ch1^secret);
ch2=(char)(ch2^secret);
ch3=(char)(ch3^secret);
ch4=(char)(ch4^secret);
System.out.println("密文:"+ch1+ch2+ch3+ch4);
//对内容进行解密
ch1=(char)(ch1^secret);
ch2=(char)(ch2^secret);
ch3=(char)(ch3^secret);
ch4=(char)(ch4^secret);
System.out.println("解密后原文:"+ch1+ch2+ch3+ch4);
}
}
数值交换
例如:
public class jiaohuan{
public static void main(String[] args){
int a=1;
int b=2;
//1、借助第三变量实现两个数交换
/*int temp=b;
b=a;
a=temp;
System.out.println(a);
System.out.println(b);*/
2、不借助第三变量实现两个数交换
a=a+b;
b=a-b;
a=a-b;
System.out.println(a);
System.out.println(b);
}
}
例题
- 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
public class TestEncryption {
public static void main(String[] args) {
//输入一个4位整数
Scanner s = new Scanner(System.in);
System.out.print("请输入一个4位正整数:");
int num = s.nextInt();
//获取各个位上的数
int bit4 = (num / 1000); // 取千位的数字
int bit3 = (num / 100) % 10; // 取百位的数字
int bit2 = (num / 10) % 10; // 取十位的数字
int bit1 = num % 10; // 取个位的数字
//每位数字加5
bit4 = (bit4+5)%10;
bit3 = (bit3+5)%10;
bit2 = (bit2+5)%10;
bit1 = (bit1+5)%10;
//交换第一位和第四位
int temp;
temp = bit4;
bit4 = bit1;
bit1 = temp;
//交换第二位和第三位
temp = bit2;
bit2 = bit3;
bit3 = temp;
// 输出加密后数字
//System.out.println("加密后的数字为:"+bit4+bit3+bit2+bit1);
int ennum = bit4*1000+bit3*100+bit2*10+bit1;
System.out.println("加密后的数字为:"+ennum);
}
}