コードコピーは次のとおりです。
Java.util.scannerをインポートします。
パブリッククラスvariaseExchange {
public static void main(string [] args){
system.out.println( "変数aの値を入力してください");
スキャナースキャナー=新しいスキャナー(System.in);
long a = scanner.nextlong();
System.out.println( "変数Bの値を入力してください");
スキャナー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);
}
}
実装は、XOR操作を巧妙に使用することです。
その原則:
コードコピーは次のとおりです。
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
同じ変数は、別の変数とそのXOR値に等しくなります。
この原則は、暗号化にも適用できます。その値とキーをXorするには、暗号化された文字列を取得できます。
補充:
スキャナークラス:
正規表現を使用して原始的なタイプと文字列を解析できるシンプルなテキストスキャナー。
例1:
コードコピーは次のとおりです。
スキャナーSC =新しいスキャナー(System.in);
int i = sc.nextint();
例2:
コードコピーは次のとおりです。
スキャナーSC =新しいスキャナー(新しいファイル( "myNumbers"));
while(sc.hasnextlong()){
長い= sc.nextlong();
}