源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java使用异或实现变量互换和异或加密解密示例

  • 时间:2020-05-14 19:57 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java使用异或实现变量互换和异或加密解密示例
[u]复制代码[/u] 代码如下:
import java.util.Scanner; public class VariableExchange {     public static void main(String[] args){         System.out.println("请输入变量A的值");         Scanner scanner=new Scanner(System.in);         long A=scanner.nextLong();         System.out.println("请输入变量B的值");         Scanner scannerB=new Scanner(System.in);         long B=scannerB.nextLong();         System.out.println("A="+A+"\t"+"B="+B);         System.out.println("执行变量互换...");         A=A^B;         B=B^A;         A=A^B;         System.out.println("A="+A+"\t"+"B="+B);     } }
其实现是巧用了异或运算。 其原理:
[u]复制代码[/u] 代码如下:
a = a ^ b; b = b ^ a; a = a ^ b;
[u]复制代码[/u] 代码如下:
a1=a^b b=a1^b=(a^b)^b=a a=a1^b =a1^(a1^b)=a1^a1^b=b
同一变量与另一变量和其异或值异或等于自身。 该原理同样可运用于加密。将其值与key进行异或得到加密后的串,解密操作也只需与key再异或一次。 补充: Scanner类: 一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。 例1:
[u]复制代码[/u] 代码如下:
Scanner sc = new Scanner(System.in); int i = sc.nextInt();
例2:
[u]复制代码[/u] 代码如下:
Scanner sc = new Scanner(new File("myNumbers"));  while (sc.hasNextLong()) {        long aLong = sc.nextLong(); }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部