Java Integer rotateRight 메서드

JavaBeginner
지금 연습하기

소개

rotateRight() 메서드는 바이너리 데이터에 대한 비트 조작을 수행하는 데 유용합니다. 특히, 숫자의 이진 자릿수를 지정된 비트 수만큼 오른쪽으로 회전시킵니다. 이는 정수에 대한 비트 연산을 수행하거나 이진수와 십진수 간 변환에 유용할 수 있습니다. 이 Lab 에서는 이 메서드를 사용하여 다양한 정수를 회전시키고 결과를 살펴보는 방법을 탐구합니다.

필요한 패키지 가져오기

이 첫 번째 단계에서는 rotateRight() 메서드를 사용하기 위해 필요한 패키지를 가져와야 합니다. 이를 위해 java.langjava.util 패키지를 사용합니다.

import java.lang.*;
import java.util.*;

이 패키지에는 사용자 입력을 받기 위해 필요한 Scanner 클래스가 포함되어 있습니다.

Main 클래스 정의

이 단계에서는 RotateRight 클래스와 main() 메서드를 정의합니다.

public class RotateRight {
    public static void main(String[] args) {
        // Code to be added here
    }
}

변수 정의

이 단계에서는 프로그램에 필요한 변수를 정의합니다.

public class RotateRight {
    public static void main(String[] args) {
        int n1 = 8;
        int n2 = -8;
        int val = 3;
        // Code to be added here
    }
}

n1, n2, 그리고 val 세 개의 변수를 정의했습니다. 이 변수들은 이후 단계에서 비트 회전 연산을 수행하는 데 사용됩니다.

이진수 변환 결과 출력

이 단계에서는 Integer.toBinaryString() 메서드를 사용하여 n1n2 두 숫자의 이진수 표현을 출력합니다.

public class RotateRight {
    public static void main(String[] args) {
        int n1 = 8;
        int n2 = -8;
        int val = 3;

        System.out.println("Binary equivalent of n1: " + Integer.toBinaryString(n1));
        System.out.println("Binary equivalent of n2: " + Integer.toBinaryString(n2));
    }
}

여기서는 Integer.toBinaryString() 메서드를 사용하여 정수를 이진 형식으로 변환한 다음, System.out.println() 메서드를 사용하여 출력합니다.

비트 회전 연산 수행

이 단계에서는 rotateRight() 메서드를 사용하여 비트 회전 연산을 수행합니다.

public class RotateRight {
    public static void main(String[] args) {
        int n1 = 8;
        int n2 = -8;
        int val = 3;

        System.out.println("Binary equivalent of n1: " + Integer.toBinaryString(n1));
        for (int i = 0; i < val; i++) {
            n1 = Integer.rotateRight(n1, val);
            System.out.println(n1);
        }

        System.out.println("Binary equivalent of n2: " + Integer.toBinaryString(n2));
        for (int i = 0; i < val; i++) {
            n2 = Integer.rotateRight(n2, val);
            System.out.println(n2);
        }
    }
}

위 코드는 두 숫자에 대해 비트 회전 연산을 수행하기 위해 두 개의 for 루프를 사용합니다. 회전할 숫자와 회전할 위치 수를 함께 사용하여 rotateRight() 메서드를 사용했습니다.

비트 회전을 위한 사용자 입력 받기

이 단계에서는 명령줄을 통해 사용자 입력을 받아 사용자 입력에 따라 비트 회전 연산을 수행합니다.

public class RotateRight {
    public static void main(String[] args) {
        try {
            System.out.println("Enter the value and distance");
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            int val = sc.nextInt();
            System.out.println("Binary equivalent is : " + Integer.toBinaryString(n));
            for (int i = 0; i < val; i++) {
                n = Integer.rotateRight(n, val);
                System.out.println(n);
            }
        } catch (Exception e) {
            System.out.println("Invalid Input");
        }
    }
}

여기서는 스캐너 객체 scnextInt() 메서드를 통해 사용자 입력을 받았습니다. 그런 다음, 사용자 입력에 따라 비트 회전 연산이 수행됩니다.

프로그램 컴파일 및 실행

프로그램을 컴파일하고 실행하려면 터미널에서 다음 명령을 사용할 수 있습니다.

javac RotateRight.java && java RotateRight

요약

이 랩에서는 Integer.rotateRight() 메서드를 사용하여 Java 에서 비트 회전 연산을 수행하는 방법을 배웠습니다. 필요한 패키지를 가져오고, 메인 클래스를 정의하고, 사용자 정의 변수를 정의하는 것으로 시작했습니다. 주어진 입력 숫자의 이진 표현을 출력한 다음, 사용자 입력을 기반으로 비트 회전 연산을 수행했습니다. 마지막으로, 프로그램을 컴파일하고 실행하여 출력을 확인했습니다.