程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java應用異或完成變量交換和異或加密解密示例

java應用異或完成變量交換和異或加密解密示例

編輯:關於JAVA

java應用異或完成變量交換和異或加密解密示例。本站提示廣大學習愛好者:(java應用異或完成變量交換和異或加密解密示例)文章只能為提供參考,不一定能成為您想要的結果。以下是java應用異或完成變量交換和異或加密解密示例正文



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);
    }
}

其完成是巧用了異或運算。

其道理:

a = a ^ b;
b = b ^ a;
a = a ^ b;


a1=a^b
b=a1^b=(a^b)^b=a
a=a1^b =a1^(a1^b)=a1^a1^b=b

統一變量與另外一變量和其異或值異或等於本身。

該道理異樣可應用於加密。將其值與key停止異或獲得加密後的串,解密操作也只需與key再異或一次。

彌補:
Scanner類:
一個可使用正則表達式來解析根本類型和字符串的簡略文本掃描器。
例1:

Scanner sc = new Scanner(System.in);
int i = sc.nextInt();

例2:

Scanner sc = new Scanner(new File("myNumbers"));
 while (sc.hasNextLong()) {
       long aLong = sc.nextLong();
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved