国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java使用異或?qū)崿F(xiàn)變量互換和異或加密解密示例

2019-11-26 15:42:59
字體:
供稿:網(wǎng)友

復(fù)制代碼 代碼如下:

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("執(zhí)行變量互換...");
        A=A^B;
        B=B^A;
        A=A^B;
        System.out.println("A="+A+"/t"+"B="+B);
    }
}

其實現(xiàn)是巧用了異或運算。

其原理:

復(fù)制代碼 代碼如下:

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

復(fù)制代碼 代碼如下:

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

同一變量與另一變量和其異或值異或等于自身。

該原理同樣可運用于加密。將其值與key進行異或得到加密后的串,解密操作也只需與key再異或一次。

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

復(fù)制代碼 代碼如下:

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

例2:

復(fù)制代碼 代碼如下:

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 南开区| 那坡县| 桦川县| 忻州市| 原阳县| 海丰县| 永德县| 宁陵县| 青浦区| 全州县| 宾阳县| 韩城市| 海南省| 原阳县| 张掖市| 荃湾区| 宜春市| 偏关县| 米易县| 阳西县| 务川| 永安市| 北流市| 海伦市| 合肥市| 轮台县| 三河市| 益阳市| 赫章县| 宁都县| 石门县| 新密市| 咸丰县| 泰来县| 吉首市| 阜新| 九江市| 延安市| 杭锦旗| 冀州市| 玉龙|