코드 사본은 다음과 같습니다.
java.util.scanner import;
공개 클래스 변수 exchange {
public static void main (String [] args) {
System.out.println ( "변수 a의 값을 입력하십시오");
스캐너 스캐너 = 새 스캐너 (System.In);
long a = scanner.nextlong ();
System.out.println ( "변수 b의 값을 입력하십시오");
스캐너 스캐너 B = 새 스캐너 (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로서 암호화 된 문자열을 얻을 수 있습니다.
다시 채우다:
스캐너 클래스 :
정규 표현식을 사용하여 원시 유형과 문자열을 구문 분석 할 수있는 간단한 텍스트 스캐너.
Example 1:
코드 사본은 다음과 같습니다.
스캐너 sc = 새 스캐너 (System.In);
int i = sc.nextint ();
Example 2:
코드 사본은 다음과 같습니다.
스캐너 sc = 새 스캐너 (새 파일 ( "mynumbers"));
while (sc.hasnextlong ()) {
길다 = sc.nextlong ();
}